SpringCloud和dubbo的区别[通俗易懂]

SpringCloud和dubbo的区别[通俗易懂]SpringCloud跟dubbo的区别从架构层面上来说SpringCloud跟dubbo都是微服务架构在公司开发技术选型中:SpringCloud的维护成本比较高,但是SpringCloud中提供了很多框架、整合了5大组件(全家桶:Ribbon负载均衡、eureka注册中心、Hystrix熔断器、gateway网关、feign服务调用)使用都非常方便,后期便于维护,分布式单一互不影响原则…

大家好,又见面了,我是你们的朋友全栈君。

SpringCloud跟dubbo的区别

从架构层面上来说
SpringCloud跟dubbo都是微服务架构
在公司开发技术选型中:
SpringCloud的维护成本比较高,但是SpringCloud中提供了很多框架、整合了5大组件(全家桶:Ribbon负载均衡、eureka注册中心、Hystrix熔断器、gateway网关、feign服务调用)使用都非常方便,后期便于维护,分布式单一互不影响原则,后期也便于增加需求。
dubbo相比之下开发成本较低,开发效率时效高,但是后期不便于增加需求。

两者的底层原理
SpringCloud跟dubbo都是实现服务之间的远程调用,但是底层又是基于两种不同的方式:
duubbo底层是使用Netty的NIO框架,基于TCP协议传输,使用Hession序列化完成RPC通信。二话不说直接上图:
RPC是介于应用层和传输层之间的协议;
在这里插入图片描述
调用者执行接口时可找到其他进程的函数体,是通过socket交互字
节流实现的;调用者是通过服务注册中心(例如zookeeper)找到被调用者服务的;生成代理对象,序列化跟反序列化达到请求

SpringCloud底层是基于HTTP协议传输,比较简单,不像dubbo,需要自己写底层源码来实现传输,SpringCloud只需遵循http协议便能到达目的。正因为需要需要遵循http协议,从这个通信效率来说当然比不过用二进制传输的dubbo
然而,springcloud是多语言开发的,大家都只需要遵循Http协议便能整合一起,如GO语言,C++,秩序遵循Http协议便可。
但是dubbo只能基于Java开发。
两则有利有弊,大家根据需求来就可以了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132153.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java线程(五):Timer和TimerTask

    Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。…

    2022年4月7日
    64
  • C语言之如何输出uint32_t和uint64_t和16进制[通俗易懂]

    C语言之如何输出uint32_t和uint64_t和16进制[通俗易懂]1、输出uint32_tuint32_ta=888;printf(“ais%ld”,a);2、输出uint64_tuint64_tb=888;printf(“bis%lu”,b);printf(“bis%lld”,b);3、输出16进制intc=16;printf(“cis0x%08x”,c)

    2025年7月17日
    4
  • k8s解除service端口限制

    k8s解除service端口限制

    2021年6月2日
    179
  • java对象组声明_如何在Java中声明对象数组?

    java对象组声明_如何在Java中声明对象数组?可以创建对象类数组,该数组可以接受任何类型的对象。在此类数组上运行期间,可以使用instanceof运算符。示例publicclassTester{publicstaticvoidmain(String[]args){Object[]dataArray=newObject[3];dataArray[0]=newInteger(0);dataArray[1]=new…

    2022年5月18日
    36
  • 查看数据库锁表以及解锁

    查看数据库锁表以及解锁今天启动项目时发现项目启动报错CouldnotopenJDBCConnectionfortransaction,weblogic控制台上服务器也有警告。网上提示是根据实际操做确认连接池不足,程序在获取连接完成数据库操作后,没有及时关闭连接。但是按照网上提供的方法改了之后仍然报错,后发现是数据库锁表了。可以根据以下代码查看数据库中有哪些表锁住了selectc.id,c.serial#,c.username,c.osuser,b.owner,b.object_name,a.locked_mod

    2022年6月22日
    47
  • goland 2021.12激活码[最新免费获取]「建议收藏」

    (goland 2021.12激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    168

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号