分布式系统解决方案之SpringCloud之注册中心——eureka
分布式系统解决方案中少不了注册中心这个组件,这在dubbo和springCloud都有相应的解决方案,dubbo中使用的是zk,springCloud中使用的是eureka。两者的区别有:CAP理论中,zk注重C和P,eureka注重A和P,zk在master宕机后选举新的master过程中是不可用的。而eureka中的集群是平等的,即时集中一个宕机也不影响服务的注册,所以他实现了高可用性和分区容错性。
下面就好好解析下这个eureka组件的原理,略作笔记,以作后谈!
首先,eureka做为SpringCloud分布式系统解决方案中的一个组件成员,其必然具备分布式系统通信功能!
说到系统间的通信,那免不了存在服务端和客户端的概念。
既然有了服务端和客户端,那两者肯定有约定的通信协议,这个通信协议是什么实现的呢?
可以先拆解eureka-client来看看
在直接进入源码层之前,可以先设想下:作为注册中心的客户端,应该具备哪些功能呢?或者说它的某某功能(心跳续约、拉取注册中心服务等)具体是怎么实现的呢?