1、zk 树形目录服务
register:注册,写一份
subscribe订阅:可以理解为一种监视、一有风吹草动、及时联系
服务时效:临时节点删除
临时节点与客户端会话绑定,会话失效节点自动删除
2、multicast广播
provider广播自己地址,consumer广播订阅请求
provider收到订阅请求,单播自己地址给consumer,如unicast=false则广播、不偷偷摸摸;consumer收到地址,RPC调用
受网络结构限制,小规模还行、大了撑不住,地址段224.0.0.0--239.255.255.255
3、redis,key/map结构
主k为服务名和类型,map中key为url地址,value过期时间,判断脏数据
先总结的来说:
Key:/dubbo/com.foo.BarService/providers(/consumer)里是提供者消费者url地址
Channel:/dubbo/com.foo.BarService/providers(/consumer)为提供者消费者 订阅或注册
具体:
1、提供者启动向Key:/dubbo/com.foo.BarService/providers添加自己的地址,向Channel:/dubbo/com.foo.BarService/providers注册
2、消费者启动从Channel:/dubbo/com.foo.BarService/providers订阅提供者的注册事件,并想Key:/dubbo/com.foo.BarService/consumer添加自己地址
3、消费者受到注册事件从Key:/dubbo/com.foo.BarService/providers获提供者地址列表
4、监控中心从Channel:/dubbo/*订阅 注册事件、订阅事件,收到注册事件从Key:/dubbo/com.foo.BarService/providers 获取地址列表,收到 订阅事件从 Key:/dubbo/com.foo.BarService/consumers获取消费者地址列表