目前微服务架构还是比较火的,但是 为什么会选择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,于2012 年不在维护,停止更新,梁飞团队被打散,主要负责人之一,所以dubbo就停止更新了。2017年8月份,阿里又重启了对dubbo的维护。正是因为停更五年,所以给了springcloud 社区极大发展。
HSF 又可以称之为 第二代 dubbo,dubbo停止之后开始发展使用。高速分布式框架,江湖又称之为 “好舒服”。
jsf 也是仿照 阿里的 hsf 搞得自己一套微服务框架,当时 dubbo 停止之后,京东挖了一批人。
jsf 又被江湖称之为 “京舒服”
借鉴了 阿里的 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 的 微服务架构全家桶