Dubbo和springcloud对比

dubbo描述

dubbo是一个rpc远程调用框架,是一个服务治理、分布式服务框架,dubbo是实现SOA的面向服务架构。

可以满足分布式开发需求、远程调用、集群容错机制、负载均衡、动态代理、路由策略、长连接+NIO

架官网构图:
Dubbo和springcloud对比
描述:

Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器

  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另
    一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

dubbo支持多种协议:

Dubbo协议
Hessian协议
HTTP协议
RMI协议
WebService协议
Thrift协议
Memcached协议
Redis协议

springcloud架构

Service Provider: 暴露服务的提供方。
Service Consumer:调用远程服务的服务消费方。
EureKa Server: 服务注册中心和服务发现中心。

Dubbo和springcloud对比

对比

从整体架构上来看,二者都需要服务提供方,注册中心,服务消费方。
但是Dubbo 只是实现了服务治理,而 Spring Cloud 子项目分别覆盖了微服务架构下的众多部件,服务治理只是其中的一个方面
Dubbo和springcloud对比
支持协议:
dubbo使用RPC通讯协议
springcloud使用HTTP协议的REST API