2.3 KiB
2.3 KiB
Dubbo 服务注册中心
注册中心基本模型
- 注册中心
- 服务提供者
- 通过注册中心客户端,向注册中心注册服务
- 服务消费者
- 通过注册中心客户端,从注册中心订阅服务
- 接收来自注册中心的变更通知
- 调用订阅的服务
- 本地保留订阅服务缓存,缓存需要和注册中心中的保持一致
注册中心核心功能:
- 支持对等集群:本身支持无状态的高可用
- 提供CURD接口 (不能理解这个点的curd访问的是什么内容)
- 订阅发布机制
- 变更通知机制
dubbo注册中心功能
- 直连: 不使用注册中心
- 只发布(注册)
- 只订阅
- 支持不同的注册中心,(用得少)
Dubbo支持的注册中心
- Nacos
- Zookeeper
- Multicast
- Redis
- Consul
- Etcd3
Dubbo 中的注册中心的定义
通过回调函数实现异步通知
注册中心构造类
- RegistryService
- AbstractRegistryFactory
- MulticastRegistryFactory
- NacosRegistryFactory
- ZookeeperRegistryFactory
- AbstractRegistryFactory
Zookeeper注册中心结构
- Zookeeper
- Root -- dubbo
- Service -- 具体的服务定义
- Type -- 服务的类型 (消费者/提供者)
- URL -- 提供者(或消费者)的地址
- Provider -- 监听提供者的URL 层次
- Consumer -- 监听提供者的type层和消费者的URL层
- Monitor -- 监听Service层
Zookeeper 功能特性
核心是一个精简的文件系统,提供基于目录节点(ZNode)树方式的数据存储,以及一些额外的抽象操作,如排序、通知和监控。本质上是一种分布式协调工具
Zookeeper 访问特性
- 原子性访问 所有请求的处理结果在整个Zookeeper集群中所有机器是一致的
- 顺序访问 从同一个客户端发起的事务请求,会按照其发起顺序严格应用到Zookeeper
Zookeeper操作模型
- Zookeeper 会话
- 操作
- TCP连接
- 发送请求
- 接受Watch事件
- 节点类型
- 临时 -- 建立连接创建,连接断开之后自动消失(会话结束自动删除)
- 持久
- 操作
- Watch (基于会话,分布式环境下的回调函数)
- ZNode一旦变化,变更消息通过会话传回到客户端
- 客户端关注ZNode发生变化,当ZNode 的变化发生的时候,回调函数被调用