引言
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务框架。近期也看到各大技术社区开始组织一些沙龙和论坛来分享spring cloud的相关实施经验。
目前,Spring Cloud在国内的知名度不高。其实之前国内比较流行的是阿里巴巴的服务治理框架Dubbo有一定的关系,出了Dubbo本身有自己较为完善的中文文档,短期内是Dubbo的天下。我们项目中用到的EJB框架做为SOA服务核心,EJB作为J2EE的113个规范之一,实在是有自己不可以或缺的地位。现在我们就来比较一下那个基础框架更好一些。
背景:
Dubbo是阿里巴巴服务治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如:JStorm捐赠给Apache并加入Apache基金会等,为中国互联网人争足了面子,使得阿里巴巴在国人眼里已经从电商升级为一家科技公司了。
Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了SpringSource之外,还有Pivotal和Netfix是其强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。
EJB是是为"服务集群"和"企业级开发"而生,其庞大且唬人的背景,我就不阐述了,EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。
社区活跃度:
我们选择一个开源框架,社区的活跃度是我们极为关注的一个要点。社区越活跃,解决问题的速度越快,框架也会越来越完善,不然当我们碰到问题,就不得不自己解决。而对于团队来说,也就意味着我们不得不自己去维护框架的源码,这对于团队来说也将会是一个很大的负担。
小结:在社区活跃度上,Spring Cloud毋庸置疑的优于Dubbo,Dubbo优于EJB,这对于没有大量精力与财力维护这部分开源内容的团队来说,SpringCloud会是更优的选择。
架构完整性:
在SpringCloud和Dubbo以及EJB的比较中&#x