美文网首页spring boot
spring cloud和dubbo的主要区别

spring cloud和dubbo的主要区别

作者: Djbfifjd | 来源:发表于2019-12-01 11:42 被阅读0次

一、注册中心

1️⃣spring cloud:有注册中心eureka
2️⃣Dubbo:没有,用第三方的zookeeper

二、通讯协议

1️⃣Dubbo

Dubbo:使用 RPC 通讯协议,提供序列化方式如下:
Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
RMI:RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式。
Hessian:Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 HTTP 通讯,采用 Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现。
HTTP:采用 Spring 的 Http Invoker 实现。
Webservice:基于 CXF 的 frontend-simple 和 transports-http 实现。

2️⃣Spring Cloud

Spring Cloud 使用 HTTP 协议的 REST API。@fengin 调用dubbox(基于Dubbo的开源扩展)中增加了对REST支持的原因之一。

Spring Cloud组件运行:

  1. 所有请求都统一通过 API 网关(Zuul)来访问内部服务。
  2. 网关接收到请求后,从注册中心(Eureka)获取可用服务。
  3. 由 Ribbon 进行均衡负载后,分发到后端的具体实例。
  4. 微服务之间通过 Feign 进行通信处理业务。

点评:业务部署方式相同,都需要前置一个网关来隔绝外部直接调用原子服务的风险。

Dubbo 需要自己开发一套 API 网关,而 Spring Cloud 则可以通过 Zuul 配置即可完成网关定制。Spring Cloud 组件完整。

相关文章

网友评论

    本文标题:spring cloud和dubbo的主要区别

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