Dubbo架构图SpringCloud架构图概要框架DubboSpringCloud服务注册中心ZookeeperSpringCloudNetflixEureka(nacos)服务调用方式RPCRESTAPI服务监控Dubbo-monitorSpringBootAdminFuse不完善SpringCloudNetflixHystrix服务网关无SpringCloudNetflixZuul分布式配置无SpringCloudConfig服务跟踪无SpringCloudSleuth数据流无SpringCloudStream批处理任务无SpringCloud任务信息总线无SpringCloudBus面向微服务的技术(SpringCloud)SpringCloud废弃的DubboRPC通信使用基于HTTP的REST方式.严格来说,这两种方法各有利弊。后者虽然在一定程度上牺牲了服务调用的性能,但也避免了上述原生RPC带来的问题。而且REST比RPC更灵活,服务提供者和调用者之间没有很强的代码级依赖,更适合强调快速演化的微服务环境。最大区别:Dubbo底层使用Netty等NIO框架,基于TCP协议传输,配合Hession序列化完成RPC通信(支持多协议调用);而SpringCloud是基于Http协议+rest接口调用远程进程通信,相对来说,Http请求的包会比较大,占用带宽也比较多。但是,REST比RPC更灵活。服务提供者和调用者仅依赖一纸契约,不存在代码层面的强依赖。这在强调快速演进的微服务环境中比较合适。至于通讯速度还是方便灵活,具体情况具体考虑。定位差异:Dubbo是SOA时代的产物,其侧重点主要是服务调用、流量分发、流量监控、熔断;*SpringCloud诞生于微服务架构时代,考虑到微服务治理的方方面面。依托于Spirng和SpirngBoot的优势,这两个框架在一开始的目标是不一致的。Dubbo位置服务治理和SpirngCloud是一个生态。因此可以大胆判断,未来Dubbo在服务治理上会更胜一筹,而SpringCloud在微服务治理上无可匹敌。模块区别:1、Dubbo主要分为服务注册中心、服务提供者、服务消费者、控制中心;2、相对于Dubbo简单的四个模块,SpringCloud是一个完整的分布式一站式框架,他有相同的服务注册中心、服务提供者、服务消费者、控制台、断路器、分布式配置服务、消息总线、服务跟踪等。;
