SpringCloud 和 Dubbo 对比

SpringCloud 和 Dubbo 对比如下:

Dubbo SpringCloud 服务注册中心 Zookeeper Spring Cloud Netflix Eureka 服务调用方式 RPC REST API 服务监控 Dobbo-monitor Spring Boot Admin 断路器 不完善 Spring Cloud Netflix Hystrix 服务网关 无 Spring Cloud Netflix Zuul 分布式配置 无 Spring Cloud Config 服务跟踪 无 Spring Cloud Sleuth 消息总线 无 Spring Cloud Bus 数据流 无 Spring Cloud Stream 批量任务 无 Spring Cloud Task

主要区别:

    定位不一样 Dubbo的定位是一款RPC框架

虽然RPC通信在调用性能上更胜一筹,但是服务方和调用方存在代码级别的强依赖。上手门槛更高。

SpringCloud是分布式微服务框架构下的一站式解决方案

RESTful HTTP通信则更为灵活,服务方和调用方真正解耦,只需符合调用约定即可。简单方便,易于上手,最大限度地降低了开发量。

    品牌机与组装机的区别

SpringCloud 的功能比Dubbo更加强大,涵盖面更广。作为Spring的拳头项目,能够很好地与Spring Framework、Spring Boot、Spring Data、Spring Batch等生态完美融合。这对微服务而言是至关重要的。

使用Dubbo构建的微服务架构就像组装电脑,路由网关,配置中心,消息链路跟踪,断路器等都要依赖第三方组件,或者自主实现,开发、测试和维护成本都很高。还要为此成立专门的技术团队,用于日常维护,修复开发过程中遇到的bug。十分考验公司技术团队的实力水平。

    社区活跃度

Spring Cloud完胜。Dubbo中间停更了五年,2017.7重启。Dubbo显然错失了技术迭代最佳时期,跟Spring Cloud相比,对开发者门槛高很多。对于想低成本采用微服务架构方案的中小公司而言,Dubbo显然不够友好。

Github上面,Spring Cloud版本迭代频繁活跃,社区热度居高不下。Spring Cloud本身就是微服务的代名词。

经验分享 程序员 微信小程序 职场和发展