服务注册与发现设计模式-实时推送模式
服务注册、服务订阅、服务剔除等角度来谈一下对上图的理解。
优点:实时性
缺点:服务注册中心实现较复杂,至少需要具备发布-订阅模式。
RocketMQ Topic路由的注册、发现采用的就是拉取模式。
1. Broker 每30s向 NameServer
发送心跳包,心跳包中包含主题的路由信息(主题的读写队列数、操作权限等),NameServer 会通过 HashMap 更新 Topic
的路由信息,并记录最后一次收到 Broker 的时间戳。
2. NameServer 以每10s的频率清除已宕机的 Broker,NameServr
认为 Broker 宕机的依据是如果当前系统时间戳减去最后一次收到 Broker 心跳包的时间戳大于120s。
3.消息生产者以每30s的频率去拉取主题的路由信息,即消息生产者并不会立即感知
Broker服务器的新增与删除。