微服务是目前比较火热的概念,而SpringCloud又是实现微服务的框架中最热门之一。
严格来讲,SpringCloud是一个生态而不是一个框架,它由很多框架组件组合而成,而整个生态又是基于SpringBoot的基础上建立。
所以,跟SpringBoot一样给人的感觉就是方便、快捷、易用和强劲,非常方便地进行云端部署和容器化,总之好东西全占足了。
"Eureka"是由于发现某种事物,尤其是问题答案而高兴。" Eureka, I got it!! "
跟它的字面意思很相近,在SpringCloud的生态圈里它担认【服务发现】 和【服务注册管理】。
那它跟Zookeeper 有什么异同呢?
虽然,V2.0还在开发,但是它较V1.0的重大优化项早已放出,主要如下:
正如上面所述,2.0将根据功能分为读、写集群,读集群充当了一个“缓存层”的作用,写集群跟之前功能差不多,不同的是它负责将状态数据的变更推送给读集群而不是Client,并且它还存储了读集群的地址信息,所以当Client扩充时只需要动态扩充读集群就行了,而且一台读集群中的实例能服务很多Client,对于写集群无疑减少一个数量级的信息推送。多个集群之间可以做相互调用,地位跟Client一样。
一个客户端Client可以连接多个服务实例, 每个实例维持独立的连接和心跳。
当Client订阅完关心的服务后,后续的信息更新由读集群负责。
总体来说V2.0做了翻天覆地的变化(架构方面,API应该不变),很容易就可以推测带的性能优化是显著的。
对于具体的实现和优化细节由于还没有看源码,所以描述不是很到位,希望后续能够补上,也欢迎各位留言补充和指正,不甚感谢!