Spring Cloud|03 Spring Cloud 与 Dubbo

本贴最后更新于 1690 天前,其中的信息可能已经时移世易

几点说明
1、本系列 Spring Cloud 的博客参考了方志朋所著《深入理解 Spring Cloud 与微服务构建》;
2、大家如果想更加深入的理解 Spring Cloud 建议多实战、多看书;

Dubbo 简介

介绍

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。

Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:

  1. 面向接口的远程方法调用:封装了长连接的 NIO 框架,例如:Netty、Mina 等等;

  2. 智能容错和负载均衡;

  3. 服务自动注册和发现;集成 Apache 的 Zookeeper 组件,用于用户的注册与发现;

Dubbo 框架的运行流程如下:

  1. 服务提供者注册进入服务注册中心;
  2. 服务消费者订阅服务;
  3. 服务消费者发现服务;
  4. 服务消费者通过远程调度来找到服务提供者进行服务的消费;
  5. 服务消费者和服务提供者定时发送心跳数据到服务监控中心用于记录调用次数和时间;

Dubbo 的优点:

  1. 连通性:服务注册中心、服务提供者、服务消费者、服务监控中心都是长连接;
  2. 健壮性:监控中心宕机不会影响其他的服务的正常进行,服务器集群配置的话,任意一个服务的宕机都不会影响整体的服务的运行状况;
  3. 伸缩性:可以动态增减注册中心与服务的实例数量;
  4. 升级性:服务器集群升级,不会对现有架构造成压力;

Spring Cloud 与 Dubbo

服务关注点 Spring Cloud Dubbo
配置管理 config
服务发现 Eureka、Consul、Zookeeper Zookeeper
负载均衡 Ribbon 自带
网关 Zuul
分布式追踪 Spring Cloud Sleuth
容错 Hystrix 不完善
通信方式 HTTP、Message RPC、NIO
安全模块 Spring Cloud Security

其他方面:

  1. 更新频率
    Spring Cloud 保持着十分高频率的更新,并且社区活跃度也很高,这对于一个架构来说是一件十分利好的事情,至少 Spring Cloud 是在飞速发展的;
    而 Dubbo 自从 2013 年 3 月开始暂停了更新,接下来的五年时间里都没有进行技术上的更新迭代,直到 2017 年 9 月才重新更新;
  2. 开发风格
    Spring Cloud 更趋向使用注解 +JavaBean 的配置方式的敏捷开发;
    Dubbo 则趋向于使用 Spring XML 的配置方式;
  3. 通信方式
    Spring Cloud 大多数使用的是基于 HTTP Restful 的风格,服务与服务之间完全无关、解耦合;
    Dubbo 则是基于 RPC 的远程调用方式,对于平台、接口、语言有强依赖;跨平台调用服务比较困难,需要额外写中间件;

END
2019 年 8 月 13 日 10:12:22

  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    938 引用 • 1456 回帖 • 163 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...