nacos 注册中心之服务地址动态感知
nacos 注册中心之服务地址动态感知
服务消费者不仅需要获得服务提供者的地址列表,还需要在服务实例出现异常时监听服务地址的变化。
首先怎么实现服务的监听呢?有两种方式来实现服务的监听。
实现监听
调用 subscribe 方法
通过调用 subscribe 方法实现监听,serviceName 为服务名,EventListener 为监听到的事件。
NamingService 接口中的 subscribe 方法:
具体调用方式如下:
调用 selectInstances 方法
NamingService 接口中的 selectInstances 方法:
如果 subscribe 为 true,会自动注册监听。
服务动态感知原理
服务动态感知原理:
nacos 中有 HostReactor 类,用来实现服务的动态更新:
客户端发起事件订阅后,HostReactor 中有 UpdateTask 线程,每 10s 发送一次 Pull 请求,获得服务端最新的地址列表
服务端与服务提供者的实例之间维持了心跳检测,一旦服务提供者出现异常,则会发送一个 Push 消息给 Nacos 客户端,也就是服务消费者
服务消费者收到请求后,使用 HostReactor 的 processServiceJSON 方法解析消息,更新本地服务地址列表。
这就是 nacos 注册中心服务地址动态感知的基本信息了,希望对大家有所帮助,大家有什么问题也可以给我评论留言哦。
❤️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
关注
盼盼小课堂
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
版权声明: 本文为 InfoQ 作者【周杰伦本人】的原创文章。
原文链接:【http://xie.infoq.cn/article/6fd2080c8a5762600e296f2a4】。文章转载请联系作者。
评论