前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dubbo 注册中心学习笔记

Dubbo 注册中心学习笔记

作者头像
写一点笔记
发布2022-08-11 17:46:19
2430
发布2022-08-11 17:46:19
举报
文章被收录于专栏:程序员备忘录程序员备忘录

在Dubbo微服务体系中,注册中心是其核心组件之一,Dubbo通过注册中心实现了分布式环境中各个服务之间的注册和发现,是各个分布式节点之间的纽带,主要的作用如下:

1、动态加入。一个服务提供者通过注册中心可以动态的把自己暴露给其他消费者,无需消费者逐个去更新配置文件。

2、动态发现,一个消费者可以动态的感知新的配置,路由规则和新的服务器提供者,无需重启服务使之生效。

3、动态调整,注册中心支持参数的动态调整,新参数自动更新到所有相关的服务节点。

4、统一配置,避免本地配置导致每个服务的配置不一致的问题。

Dubbo的注册中心源码在模块dubbo-registry中,里边包括五个子模块。分别如下:

Dubbo提供了四种注册中心的实现,具体如上所示,当时这块也是可以扩展的,我们基于dubbo-registry-api也可以去做扩展,我想着nacos也是基于此。

Zookeeper是其官方推荐的注册中心,redis做注册中心并没有长时间的可靠性验证,其稳定性依赖于redis本身,default是其采用内存的一种方式,其本身就是一个rpc服务,不支持集群也久会出现单点故障,multicast模式则不需要启动任何注册中心,只要通过广播地址,就可以互相发现,服务提供者启动时,会广播自己的地址,消费者启动时会广播订阅请求,服务提供者收到订阅请求,会根据配置广播或者单播给订阅者,但是不建议在生产环境使用。后期我们再探索下注册中心的自定义扩展。

注册中心的工作流程

注册中心的总体流程比较简单,总体流程图如下:

1、服务提供者启动时,会向注册中心写入自己的元数据信息,同时会订阅配置元数据信息

2、消费者启动时,也会向注册中心写入自己的元数据信息,并订阅服务提供者,路由和配置元数据信息。

3、服务治理中心(dubbo-admin)启动时,会同时订阅所有的消费者,服务提供者,路由和配置元数据信息。

4、当有服务提供者离开或有新的服务提供者加入时,注册中心服务提供者目录会发生变化,变化信息会动态通知给消费者,服务治理中心

5、当消费方发起服务调用时,会异步将调用,统计信息上报给监控中心(dubbo-monitor-simple)。

申明:本文系图书《深入理解Apache dubbo与实践》章节内容,作者经常通过抄书打发时间而已。年轻的时候还是多学一点吧,等老了拿出来吹牛也挺好。

今日立秋,祝大家愉快!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档