欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

各大主流微服务技术SpringCloud、SpringCloudAlibaba、Dubbo、Motan、MSEC架构选型对比

程序员文章站 2022-04-10 09:49:20
技术选型时,对于中小型公司而言,使用 SpringCloud 会极大的减少开发成本,只需了解原理以及如何使用,就能进行开发。但是对于大型公司而言,更倾向使用Dubbo,比较灵活,可以很方便的拓展自主研发一些组件,虽然人力成本会增加,但是能全面的把控技术风险。我们这里为什么选择SpringCloudAlibaba呢,主要因为SpringCloud的组件:服务注册与发现的 Eureka、服务限流降级的 Hystrix、网关 Zuul都已经停止更新了。当然,Spring这个我们Java界的老大哥也迅速给出了...

开源微服务技术选型功能技术对比

SpringCloud Dubbo Motan MSEC
功能 微服务完整方案 服务治理框架 服务治理框架 服务治理框架
通信方式 Rest/Http RPC RPC/Hessian2 Protocol buffer
服务发现 Eureka(AP)/Conusl/ZK Nacos、ZK ZK/Conusl 只有服务发现
负载均衡 Ribbon 客户端负载 客户端负载 客户端负载
容错策略 6种容错策略 6种容错策略 2种容错策略 自动容错
熔断机制 Hystrix Sentinel 提供过载保护
配置中心 Spring Cloud Config Nacos
网关 Zuul、Gateway
服务监控 Hystrix+Turbine Dubbo+Monitor Monitor
链路监控 Sleuth+Zipkin
多语言 Rest支持多语言 Java Java Java、C++、PHP
社区 高(背靠Spring) 高(背靠阿里) 一般 未知

技术选型考虑

技术选型时,对于中小型公司而言,使用 SpringCloud 会极大的减少开发成本,只需了解原理以及如何使用,就能进行开发。但是对于大型公司而言,更倾向使用Dubbo,比较灵活,可以很方便的拓展自主研发一些组件,虽然人力成本会增加,但是能全面的把控技术风险。

为什么考虑SpringCloudAlibaba

我们这里为什么选择SpringCloudAlibaba呢,主要因为SpringCloud的组件:服务注册与发现的 Eureka、服务限流降级的 Hystrix、网关 Zuul都已经停止更新了。当然,Spring这个我们Java界的老大哥也迅速给出了新的一套组件解决方案,如果想用还是可以继续用的,也只不过是权衡取舍的问题了,两套组件用哪一套更好?

SpringCloudAlibaba和SpringCloud的区别及技术最终选型

SpringCloudAlibaba实际上是对我们的SpringCloud组件增强功能,是SpringCloud的增强框架,可以兼容SpringCloud原生组件和SpringCloudAlibaba的组件。当然如果用了SpingCloudAlibaba还是建议使用阿里提供的这些组件的。
我在进行技术预研时对SpringCloud和SpringCloudAlibaba两套组件都一一进行了实验,最终还是选择了SpringCloudAlibaba,无论是开发架构的简单、方便程度还是技术社区的活跃度,还有就是它提供的一整套完整的解决方案生态:分布式事务、分布式任务调度、消息队列RocketMQ等等阿里系的一些组件还是挺完善强大的。

经过一系列的对比,最终选择的技术框架体系,基础的技术架构如图:

各大主流微服务技术SpringCloud、SpringCloudAlibaba、Dubbo、Motan、MSEC架构选型对比

使用统一的微服务框架有一个比较严重的问题:框架更新成本很高。每次框架升级,都需要所有应用服务配合升级。当然,一般会使用兼容方案,留出一段并行时间等待所有应用服务升级。但是如果应用服务非常多时,升级时间可能会非常漫长。并且有一些很稳定几乎不更新的应用服务,其负责人可能会拒绝升级……因此,使用统一微服务框架需要完善的版本管理方法和开发管理规范。

本文地址:https://blog.csdn.net/yangxiao_hui/article/details/107332412