目前微服务架构还是比较火的,但是 为什么会选择springcloud 作为 微服务架构呢,列如:dubbo、Motan 等等技术都是比较多的。但是依然springcloud 占据了很大一部分,值得深思。


目录

一、选型依据

二、目前微服务架构的IT公司都有哪些呢

三、微服务各种框架对比


一、选型依据

  • Spring Cloud来源于Spring,质量、稳定性、持续性都可以得到保证
  • Spirng Cloud天然支持Spring Boot,更加便于业务落地。
  • Spring Cloud发展非常的快,从16年开始接触的时候相关组件版本为1.x,到现在将要发布2.x系列
  • Spring Cloud是Java领域最适合做微服务的框架。
  • 相比于其它框架,Spring Cloud对微服务周边环境的支持力度最大。
  • 对于中小企业来讲,使用门槛较低。

Spring Cloud 是微服务架构的最佳落地方案

二、目前微服务架构的IT公司都有哪些呢

  • 阿里  Dubbo/HSF

阿里前身用的 是 dubbo,于2012 年不在维护,停止更新,梁飞团队被打散,主要负责人之一,所以dubbo就停止更新了。2017年8月份,阿里又重启了对dubbo的维护。正是因为停更五年,所以给了springcloud 社区极大发展。

HSF 又可以称之为 第二代 dubbo,dubbo停止之后开始发展使用。高速分布式框架,江湖又称之为 “好舒服”。

  • 京东JSF

jsf 也是仿照 阿里的 hsf 搞得自己一套微服务框架,当时 dubbo 停止之后,京东挖了一批人。

jsf 又被江湖称之为 “京舒服”

  • 新浪微博Motan
  • 当当网DubboX

借鉴了 阿里的 dubbo 框架,退出了自己的一套框架,称之为 DubboX。

三、微服务各种框架对比

功能点/服务框架

Netflix/SpringCloud

Motan

gRPC

Thrift

Dubbo/DubboX

功能定位

完整的微服务框架

RPC框架,但整合了ZK或Consul,实现集群环境的基本服务注册/发现

RPC框架

RPC框架

服务框架

支持Rest

是,Ribbon支持多种可插拔的序列化选择





支持RPC


是(Hession2)




支持多语言

是(Rest形式)?





负载均衡

是(服务端zuul+客户端Ribbon),zuul-服务,动态路由,云端负载均衡Eureka(针对中间层服务器)

是(客户端)



是(客户端)

配置服务

Netfix Archaius,Spring Cloud Config Server集中配置

是(zookeeper提供)




服务调用链监控

是(zuul),zuul提供边缘服务,API网关





高可用/容错

是(服务端Hystrix+客户端Ribbon)

是(客户端)



是(客户端)

典型应用案例

Netflix

Sina

Google

Facebook

 

社区活跃程度


一般


一般

2017年后重新开始维护,之前中断了5年

学习难度

中断





文档丰富程度


一般

一般

一般


其他

Spring Cloud Bus为我们的应用程序带来了更多管理端点

支持降级

Netflix内部在开发集成gRPC

IDL定义

实践的公司比较多

通过图对比,发现 springcloud 提供了一整套 微服务 技术体系可以使用。目前,大多数 老系统使用的是 dubbo,而新系统 大多会使用 springcloud 的。 


springcloud 是 基于 springboot 的 微服务架构全家桶 

springcloud对应consul版本 spring cloud版本选择及原因_Cloud

springcloud对应consul版本 spring cloud版本选择及原因_Cloud_02

springcloud对应consul版本 spring cloud版本选择及原因_spring_03