微服务架构中常用的解决方案,总结了传统服务发现方案
Gossip协议常用于集群组相关打点和妨碍检测,每个节点都通过一个或多个引导节点插手集群,引导节点有集群中全部节点列表,每个节点都从本身所知节点列表中随机选择一组节点周期性地发送多播动静,最终集群中全部节点都能知道其他节点。这个进程看起来很神奇,现实上Gossip协议能在几秒内将动静传遍有上百节点的集群。Akka、Riak、Cassandra都行使Gossip协议维护集群成员列表和妨碍探测。 ![]() 另外Consul和Etcd都很是得当容器情形,由于Docker容器启动、遏制城市发送变乱(Event),基于变乱关照机制很是便于将处究竟例从Consul或Etcd上注册、注销。 总结 本文总结了传统处事发明方案如DNS、mDNS以及微处事架构中常用的办理方案,基于Zookeeper、Etcd、Consul框架方案焦点头脑是通过一组实例(3个可能5个)提供线性强同等性(Linearizable)漫衍式高可用Key-Value存储处事,将Key-Value存储作为处事注册中心,当相干Key产生变革时监督器能实时关照客户端,关照机制共同处事康健搜查当有处究竟例启动或妨碍时客户端能实时感知处事拓扑变革以实现智能路由,从实现方法上看它们可以看作是中心化的处事发明方案。 着实对付处事发明来说线性强同等性并不是独一必需的,最终同等性在数据撒播足够快的环境下一样能满意需求,实践中Gossip协议纵然在大型集群也能快速撒播数据并收敛到最终同等,将处究竟例作为Gossip集群节点,行使CRDT(conflict-free replicated data type)存储处事注册信息通过Gossip快速撒播实现集群中全部节点状态最终同等,每个节点都存储所有处事注册信息,这样就不必要单独的处事注册中心,这种方法实现的方案叫去中心化方案,有关去中心化处事发明方案留作下次分享。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |