开发者学堂课程【微服务框架 Spring Cloud 快速入门:为什么选择 Spring Cloud作为微服务架构】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/614/detail/9332
为什么选择 Spring Cloud 作为微服务架构
内容介绍
一、 选型依据
二、 当前各大IT公司用的微服务架构有哪些?
三、 各微服务框架对比
一、选型依据
1、整体解决方案和框架成熟度
2、社区热度
3、可维护性
4、学习曲线
一家大公司的架构师在选型的时候,并不会选取最新的版本,选取的版本往往是最稳定的,最新的技术不一定是最好的,一个稳定的版本往往出现问题时修复的方案会更多,在社区的热度更好。
二、当前各大IT公司用的微服务架构有哪些?
1、阿里Dubbo/HSF
Dubbo已经停止更新五年了,于2012年就停止维护。因为Dubbo团队的解散。2017年阿里重启了对Dubbo的维护,因为停更五年的原因已经落后于spring cloud.HSF分布式的高速框架,可以理解为第二代的Dubbo。
2、京东JSF
3、新浪微博Motan
4、当当网Dubbox
三、各微服务框架对比
一个微服务要满足很多种微服务落地维度、功能定位、是否支持rest、是否支持rpc、是否支持多语言、服务注册/发展、是否支持负载均衡。要是一个好的分布式微服务框架,就要满足那些维度。
功能点/服务框架 |
备选方案 |
|
|||
Netflix/Spring cloud |
Motan |
gRPC |
Thrift |
Dubbo/Dubbox |
|
功能定位 |
完整的微服务框架 |
RPC框架,但整合了ZK或Consul,实现集群环境的基本的服务注册/ 发现 |
RPC框架 |
RPC框架 |
服务框架 |
支持Rest |
是 Ribbon支持du可插拔的序列化选择 |
否 |
否 |
否 |
否 |
支持RPC |
否 |
是 (Hession2) |
是 |
是 |
是 |
支持多语言 |
是(Rest)? |
否 |
是 |
是 |
否 |
服务注册/发现 |
是(Eureka) Eureka服务注册表,Karyon服务端框架支持服务自注册和健康查询 |
是 (zookeeper/consul) |
否 |
否 |
是 |
负载均衡 |
是(服务端zuul+客户端Ribbon) Zuul-服务,动态路由 云端负载均衡 Eureka(针对中间层服务器) |
是(客户端) |
否 |
否 |
是(客户端) |
配置服务 |
Netflix Archaius Spring cloud Config Server集中配置 |
是(zookeeper提供) |
否 |
否 |
否 |
服务调用链监控 |
是(zuul) Zuul提供边缘服 务,API网关 |
否 |
否 |
否 |
否 |
高可用/容错 |
是(服务端Hystrix+客户端 Ribbon) |
是(客户端) |
否 |
否 |
是(客户端) |
典型应用案例 |
Netflix |
Sina |
|
||
社区活跃程度 |
高 |
一般 |
高 |
一般 |
已经不维护了 |
学习难度 |
中等
|
低 |
高 |
高 |
低 |
文档丰富度 |
高 |
一般 |
一般 |
一般 |
高 |
其他 |
Spring Cloud Bus为我们的 应用程序带来了更多管理端 点 |
支持降级 |
Netflix内部在开发集成gRPC |
IDL定义 |
实践的公司比较多 |
如果去互联网公司工作cloud是一定要掌握的,通过技术维度和微服务结合服务站,落地微服务的维度有哪些,得到第一个结论cloud几乎全面的满足。