eureka:并不是像zookeeper、redis、mysql这些分布式架构的master-slave架构体系,每一个server节点间都是平级的。
每个server都会向其他server注册自己,但是不会拉取注册信息。当有一个服务注册到其中一个server上,会将这个消息广播出去亏,其他server也有这个信息。当eureka宕机时,client请求不到,会请求其他eureka。每个eureka都会缓存一份服务列表。
eureka有几个机制:
① 每隔30秒 (可配置)client需要向server发送心跳,进行续约,代表自己还存在。
如果超过90秒没有发送(可配置)eureka会认为已经宕机,进行服务剔除
② 自我保护机制: 如果eureka检测到有85%以上的机器宕机了,就不会再移除服务了,认为是自己出现了问题。
以下有待补充
consul选举
nacos:选举
zookeeper:选举机制: