关于注册中心(Eureka)的一些知识点
eureka是springCloud中的一个负责服务注册与发现的组件 遵循CAP原则。
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
eureka中分为两部分,eureka server 和 eureka client 。
eureka server:是作为服务注册与发现中心的
eureka client :服务的生产者、消费者
当eureka client项目启动时它会向 eureka server 提交自己的IP地址 , 端口,name等信息,完成注册。
服务者注册到注册中心步骤
导包--配置yml--在启动类配置@EnableEurekaClient
这样就可以完成在注册中心注册了
Eureka的具体配置访问:https://www.cnblogs.com/april-chen/p/10617066.html
Eureka和zookeeper的区别
那他们的区别在哪里呢?为什么要使用Eureka来进行服务注册呢?
1、Zookeeper当master(父类)挂了,会在30-120s进行leader(领导)选举,这点类似于redis的哨兵机制,在选举期间Zookeeper是不可用的。这时Zookeeper集群会瘫痪,这也是Zookeeper的CP,保持节点的一致性,牺牲了A/高可用。而Eureka不会,即使Eureka有部分挂掉,还有其他节点可以使用的,他们保持平级的关系,只不过信息有可能不一致,这就是AP,牺牲了C/一致性。
2、Eureka有自我保护机制(15分钟内超过85%的服务节点没有心跳/down),这点我觉得确实要比Zookeeper好,即使服务不可用,也会保留当前失效的微服务,默认90秒,在这90秒Eureka不会注销微服务,在这90秒内仍然可以接受新的服务注册,只是不会同步到其他节点上。当坏掉的服务恢复的时候,会自动加入到节点上,也是高可用的一种。然后退出自我保护机制,这也是应对网络异常的一种机制
总结:Zookeeper出现网络等故障的时候导致整个服务注册瘫痪。而Eureka能很好的应对网络故障导致失去节点的情况。

浙公网安备 33010602011771号