感知服务端的变化,获取最新服务节点的连接信息。
**服务注册:**服务提供方将对外暴露的接口发布到注册中心内,注册中心为了检测服务的有效状态,一般会建 立双向心跳机制。
**服务订阅:**服务调用方去注册中心查找并订阅服务提供方的 IP,并缓存到本地用于后续调用。
基于 ZooKeeper 的服务发现方式:
在 ZooKeeper 中创建一个服务根路径,可以根据接口名命名(例
如:/micro/service/com.test.orderService),在这个路径再创建服务提供方与调用方目录(server、client),分别用来存储服务提供方和调用方的节点信息。
服务端发起注册时,会在服务提供方目录中创建一个临时节点,节点中存储注册信息。
客户端发起订阅时,会在服务调用方目录中创建一个临时节点,节点中存储调用方的信息,同时watch 服务提供方的目录(/micro/service/com.test.orderService/server)中所有的服务节点数据。当服务端产生变化时ZK就会通知给订阅的客户端。
强一致性,ZooKeeper 集群的每个节点的数据每次发生更新操作,都会通知其它 ZooKeeper 节点同时执行更新。
比如网络中的波动,硬件设施的老化等等。可能造成集群当中的某个节点存在问题,无法正常调用。
心跳检测的过程总共包含以下状态:
阅读量:2026
点赞量:0
收藏量:0