spring cloud : 微服务框架
- 服务的注册中心
- 服务的注册于发现
- 服务的下线
- 服务的心跳检测/续约
zookeeper : 分布式协调服务
- 服务的注册
- 服务的发布与订阅
- 服务的同一配置管理
- 服务的集群管理
- 分布式锁
- 负载均衡
eureka与zookeeper的区别
eureka与zookeeper 都可以进行服务注册与发现
不同点在于: eureka 实现的CAP里面中的AP(可用性与分区容错性-可靠性), zookeeper 保证了CP(一致性与分区容错性-可靠性),这个一致性体现在在网络断开的时候,那个server的状态都是一样的。
eureka保证可用性,主要体现在网络断开的时候,那么断开的服务器无法进行心跳,但是eureka注册中心有一个机制,就是自我保护机制,他会保留所有的服务列表,包括失联的服务器,以便实现他可以进行服务调用。
CA为什么不能共存?
当网络断开,服务器s1和服务器s2, s1 在写入, 为了保证一致性,那么s2 就不能写入, 这时s2就不可用了,
如果保证可用,那么s2可写入,就无法保证一致性了。
预留疑问:
- 分布式锁如何实现, 实现方式有那几种?
为什么需要分布式锁, 如何体现?
先了解的分布式锁有: redis, zookeeper,
- 负载均衡的实现方式?
nginx 与 feign , zookeeper 自己编写
网友评论