美文网首页
spring cloud和dubbo的比较

spring cloud和dubbo的比较

作者: shark没有辣椒 | 来源:发表于2021-11-20 19:27 被阅读0次

    首先我们来看看通信协议RPC和http

    • RPC
      RPC(Remote Produce Call)远程过程调用,类似的还有RMI。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型。

    • HTTP
      Http其实是一种网络传输协议,基于TCP,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用Http协议。也可以用来进行远程服务调用。缺点是消息封装臃肿。 现在热门的Rest风格,就可以通过http协议来实现。
      我们可以认为SpringCloud就是基于Http协议实现服务之间的通信。在Java中发起一个Http请求的方式很多,比如 Apache的HttpClient , OKHttp等等 。Spring为我们封装了一个基于Restful的使用非常简单的Http客户端工具 RestTemplate。

    由上可以看出,Dubbo的通信方式是RPC,基于原生的TCP协议,性能较好,而SpringCloud的通信方式基于Http协议,虽然底层基于tcp,但是Http的封装过于臃肿。使用Http好处在于互相通信的两个服务可以使用不同的变成语言去编写,只要他们都支持Http通信即可互相调用,而Dubbo只支持Java,当然Dubbo交给Apache维护之后做了升级,Dubbo在以后不仅仅支持Java。

    从整体上讲,dubbo只是作为服务治理的rpc层,而Spring Cloud提供了一整套分布式服务开发的工具,包括zuul网关、服务注册Eureka、熔断器hystrix、统一配置config等,背靠spring,社区非常强大,更新非常快,所以开发效率高。而dubbo维护较少,且jar包依赖问题需要时间解决。

    以下是网上比较流行的Dubbo和Spring Cloud功能对比图:


    图1.png

    参考:https://blog.csdn.net/Lan_____/article/details/109785256

    相关文章

      网友评论

          本文标题:spring cloud和dubbo的比较

          本文链接:https://www.haomeiwen.com/subject/ldemtrtx.html