Dubbo和SpringCloud架构区别详解(4大核心区别)

文摘   2024-09-04 16:59   四川  

关注mikechen的架构笔记十余年BAT架构经验倾囊相授


大家好,我是mikechen。

SpringCloud和Dubbo是目前主流的微服务框架,但是很多同学还不清楚如何选择?核心区别?本篇重点详解两者核心区别@mikechen


最新mikechen原创超30万字《阿里架构师进阶专题合集》和《最全大厂面试题及答案总结》,请关注本公众号【mikechen的架构笔记】,后台回复:资料,即可领取。


核心设计区别

Dubbo最早是阿里"B2B"开发的一个RPC框架,初衷就是解决阿里"B2B"内部的通信问题。

从最早的设计,本身就是奔着“远程通信”去的,所以到现在为止,很多人的印象还是“RPC”。

只不过随着企业内部的需要,逐步看是完善整个“微服务”体系,从而走到今天。

但是,SpringCloud从最早的设计,就是奔着“全套微服务去的”。

而且,更取巧的是,SpringCloud最早就基于SpringBoot来开发。

所以,非常适合Spring这套体系,因为开发生态非常完善,最重要的是,群众基础多。

所以,Spring Cloud 是基于 Spring Boot ,开发了一个全生态微服务解决方案。

Spring Cloud不仅仅是一个 RPC 框架,还包含了:服务发现、配置管理、负载均衡、API 网关、断路器、分布式追踪。。。。。等完整的微服务体系。

服务通信的区别

Dubbo基于RPC(Remote Procedure Call)模型,强调高性能、低延迟的远程调用。

Dubbo使用Dubbo协议,这是一个高效的二进制传输协议。

相比于基于文本的HTTP协议,二进制协议在传输速度/和数据压缩率上具有显著优势,尤其适合高并发、和低延迟的场景。

Spring Cloud基于HTTP/REST模型,构建在Spring生态系统之上,更加语言无关。

@FeignClient(name = "user-service")public interface UserClient {    @GetMapping("/users/{id}")    User getUserById(@PathVariable("id") Long id);}

HTTP 是一种广泛使用的标准协议,RESTful 风格的 API 更是得到了广泛的接受和支持。

几乎所有的编程语言、和平台都原生支持 HTTP 通信,使得跨平台、和跨语言的服务交互变得非常容易。

但是,相比于其他协议(如 Dubbo、gRPC、Thrift...等等),HTTP/REST 的通信开销较大。

总之,性能和通用,本就是取舍,所以,选择合适的通信方式,应根据具体业务需求、和场景来决定。

服务治理的区别

Dubbo专注于服务通信、服务治理、负载均衡....等核心功能。

Dubbo主要集中在服务层面,相对于SpringCloud的生态会差一点。

但是,现在也提供了SpringCloudAlibaba来弥补。

而Spring Cloud,相对于Dubbo,拥有更完整的微服务生态系统。

比如:包括配置管理(Spring Cloud Config)、熔断器(Hystrix)、服务网关(Zuul)、分布式追踪(Sleuth + Zipkin)、消息驱动(Spring Cloud Stream).....等。

但是,这些组件,有一部分已经停止了更新。

所以,需要考虑综合的情况,来选择和决定。

如果要走SpringCloud系列,国内可以采用SpringCloudAlibaba来替换。

核心应用区别

Dubbo:非常适合企业内部的高并发服务调用场景,尤其是在需要高性能、低延迟的场景下。

其二进制协议、和高效的 RPC 机制,使其在这方面有显著优势。

Spring Cloud 更适合构建全面的、企业级的微服务架构,尤其是需要广泛的服务治理、配置管理、监控、API 网关。。。等功能。

Spring Cloud,更加适合中型企业,特别是那些已经在使用 Spring 生态系统的团队。

Spring Cloud,相对于大厂,不需要定制化开发微服务框架,生态也还不错。

Dubbo 则更适合注重高性能、和低延迟的大规模并发场景,尤其是在内部服务调用。

以上


最后送大家一个福利:

送我原创超30万字阿里架构师进阶专题合集


以及给大家整理最全大厂Java面试题及答案详解,包含:Java、多线程、JVM、Spring、MySQL、Redis、中间件...等必考题答案详解。


需要以上架构专题&面试答案的同学,加我微信即可领取!


添加时备注:资料






mikechen的架构笔记
十余年BAT架构经验倾囊相授!
 最新文章