微服务框架 | 潮流当前该如何选择 SpringCloud、Dubbo or Istio?

2017-08-31 17:56:55 +08:00
 Tenxcloud10

在 Kubernetes 容器云平台于众多企业里遍地实施开花后,迅速结出的果实:应用微服务化当仁不让的居于首位。众所周知,基于容器平台构建后端服务,可以更加迅速的实现业务微服务化,与之而来的框架选型讨论也迅速火热了起来。

微服务框架选型之争

选项其实很多,这里挑选一些讨论火热、或者主流的来对比,仅供参阅。

1、框架背景对比

( 1 ) Spring Cloud,来源于 Spring Source,具有 Spring 社区的强大背书外,还有 Netflix 强大的后盾与技术输出。Netflix 作为一家成功实践微服务架构的互联网公司,在几年前就把几乎整个微服务框架栈开源贡献给了社区,这些框架开源的整套微服务架构套件是 Spring Cloud 的核心。

( 2 ) Dubbo 是一个分布式服务框架,是国内互联网公司开源做的比较不错的阿里开放的微服务化治理框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。 其核心部分包含(官网):

Dubbo 也是采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展进行加载。当然也支持官方不推荐的 API 调用方式。

( 3 ) Istio 作为用于微服务服务聚合层管理的新锐项目,是 Google、IBM、Lyft (海外共享出行公司、Uber 劲敌) 首个共同联合开源的项目,提供了统一的连接,安全,管理和监控微服务的方案。

目前首个测试版是针对 Kubernetes 环境的,社区宣称在未来几个月内会为虚拟机和 Cloud Foundry 等其他环境增加支持。Istio 将流量管理添加到微服务中,并为增值功能(如安全性,监控,路由,连接管理和策略)创造了基础。

2、开源社区活跃度对比

开源社区情况:现如今企业在采用云计算首选开源,而选择一个开源框架,社区的活跃度将作为重要参考选项。

查看下在 Github 上的更新时间,截止 2017 年 8 月 31 日:

可见,项目在社区活跃度上,Istio > Spring Cloud > Dubbo,结合稳定性来看,对于使用 Java 系开发业务较多的企业,Spring Cloud 是相对更优的选择,对于更多企业来说,与语言几乎无绑定的 Istio 也是可以好好期待一下其在社区的发展。

总结:结合项目背景、提供功能、社区更新活跃度,SpringCloud 是目前阶段最为稳妥的可执行微服务框架方案,Istio 作为支持对于 Kubernetes 的优先支持来讲,也是一个值得关注的方案。目前对比来看,Dubbo 则显得稍逊下来。

时速云 | 企业版 - 微服务治理平台,即将发布!

产品特色:深度定制 SpringCloud 等微服务框架,支持 gRPC,动态路由配置,流量控制,配置管理等增强服务,同时提供应用业务级的 APM 能力。敬请期待!

5235 次点击
所在节点    推广
4 条回复
gmywq0392
2017-09-01 10:05:47 +08:00
流口水 ing,楼主好帖!

个人写 Java 维持生计,Spring Cloud,一把梭。
shawnall
2017-09-01 10:17:02 +08:00
@gmywq0392 维持生计好评( 233333
Tenxcloud10
2017-09-01 10:33:14 +08:00
@gmywq0392 坐标总部北京、杭州、深圳、武汉,有木有兴趣过来一起做哇
qinxi
2017-09-01 13:51:15 +08:00
查看下在 Github 上的更新时间,截止 2017 年 8 月 31 日:

Spring Cloud:Spring Cloud · GitHub → 所有项目均更新于『 1 小时』内。
Dubbo:Dubbo · GitHub → 核心项目最近更新于『一个月乃至数月』前。
Istio:Istio · GitHub → 所有项目均更新于『 30 分钟』内。
可见,项目在社区活跃度上,Istio > Spring Cloud > Dubbo,
这个如何根据一次提交记录就得出活跃度的?

难道不应该是 多次提交间隔取平均?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387238

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX