打开网站代码启迪网站建设招聘
web/
2025/10/8 19:16:41/
文章来源:
打开网站代码,启迪网站建设招聘,怎么做弹幕网站,金昌市建设工程质量监督站网站Dubbo 服务发现
1、什么是服务发现
**服务发现#xff08;Service discovery#xff09;**是自动检测一个计算机网络内的设备及其提供的服务。
2、Dubbo 与 服务发现
Dubbo 提供的是一种 Client-Based 的服务发现机制#xff0c;依赖第三方注册中心组件来协调服务发现过…Dubbo 服务发现
1、什么是服务发现
**服务发现Service discovery**是自动检测一个计算机网络内的设备及其提供的服务。
2、Dubbo 与 服务发现
Dubbo 提供的是一种 Client-Based 的服务发现机制依赖第三方注册中心组件来协调服务发现过程支持常用的注册中心如 Nacos、Consul、Zookeeper 等。
以下是 Dubbo 服务发现机制的基本工作原理图 服务发现包含提供者、消费者和注册中心三个参与角色其中Dubbo 提供者实例注册 URL 地址到注册中心注册中心负责对数据进行聚合Dubbo 消费者从注册中心读取地址列表并订阅变更每当地址列表发生变化注册中心将最新的列表通知到所有订阅的消费者实例。
首先Dubbo 注册中心以应用粒度聚合实例数据消费者按消费需求精准订阅避免了大多数开源框架如 Istio、Spring Cloud 等全量订阅带来的性能瓶颈。其次Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化地址通知增加了异步、缓存、bitmap 等多种解析优化避免了地址更新常出现的消费端进程资源波动。最后在功能丰富度和易用性上服务发现除了同步 ip、port 等端点基本信息到消费者外Dubbo 还将服务端的 RPC/HTTP 服务及其配置的元数据信息同步到消费端这让消费者、提供者两端的更细粒度的协作成为可能Dubbo 基于此机制提供了很多差异化的治理能力。
3、Dubbo 的服务发现特点
从注册中心视角来看它负责以应用名 (dubbo.application.name) 对整个集群的实例地址进行聚合每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (通常还包含少量的实例元数据如机器所在区域、环境等) 注册到注册中心。 每个消费服务的实例从注册中心订阅实例地址列表相比于一些产品直接将注册中心的全量数据 (应用 实例地址) 加载到本地进程Dubbo 实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2则只会订阅 app1、app2 的地址列表更新大幅减轻了冗余数据推送和解析的负担。
Dubbo3 应用级服务发现以应用粒度组织地址数据Dubbo2 接口级服务发现以接口粒度组织地址数据
应用粒度有以下优势
适配云原生微服务变革 提升性能和可伸缩性从本质上解决了注册中心地址数据的存储和推送压力相应的 Consumer 侧的地址计算压力也成数量级下降
按需订阅和全量订阅 4、丰富元数据配置
除了与注册中心的交互Dubbo3 的完整地址发现过程还有一条额外的元数据通路我们称之为元数据服务 (MetadataService)实例地址与元数据共同组成了消费者端有效的地址列表。 完整工作流程如上图所示首先消费者从注册中心接收到地址 (ip:port) 信息然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息两部分信息共同组装成 Dubbo 消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
5、总结
Dubbo是一个高性能、轻量级的分布式服务框架提供了服务注册和服务发现的功能。在Dubbo中服务的注册和发现是通过注册中心来实现的。注册中心的作用是集中存储和管理服务的元数据信息包括服务的地址、协议、调用方式等。
Dubbo框架支持多种注册中心包括Zookeeper、Redis、Multicast、Simple等。其中Zookeeper是最常用的注册中心之一。下面以Zookeeper为例简要介绍Dubbo服务的注册和发现过程
配置注册中心首先在Dubbo配置文件中配置注册中心的地址和连接信息。例如在Dubbo的提供者Provider端和消费者Consumer端的配置文件中添加如下配置
!-- Provider端配置 --
dubbo:registry addresszookeeper://localhost:2181/
!-- Consumer端配置 --
dubbo:registry protocolzookeeper addresslocalhost:2181/服务发布Provider端启动后会将自己提供的服务发布到注册中心。Dubbo框架会将服务的元数据信息注册到Zookeeper节点中供Consumer端进行订阅和查找。 服务订阅Consumer端启动后会向注册中心订阅自己关心的服务。Dubbo框架会从Zookeeper中获取服务的元数据信息并缓存在本地。 服务发现Consumer端在进行服务调用时会根据服务接口和版本等信息查询本地缓存或者注册中心获取可用的服务提供者列表。Dubbo框架会根据负载均衡策略选择一个合适的服务提供者进行调用。
口和版本等信息查询本地缓存或者注册中心获取可用的服务提供者列表。Dubbo框架会根据负载均衡策略选择一个合适的服务提供者进行调用。
Dubbo的服务发现过程包括配置注册中心、服务发布、服务订阅和服务发现。通过使用注册中心Dubbo能够实现服务的动态扩展和高可用性方便开发者进行分布式服务的管理和调用。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89215.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!