目前微服务架构还是比较火的,但是 为什么会选择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 的。