Spring Cloud和Dubbo,孰优孰劣

简介: 机械式的结构,终将被自然选择所淘汰,有机式结构的新物种,登上舞台,必会壮大成为市场的主流。

微服务架构的思想,从互联网行业的技术圈子,逐渐蔓延到了传统行业,热度是越来越高。在它之前,流行的架构是‘一体化架构’。一体化,就意味着要将所有的软件组件统统装配起来,并且紧紧的打包在一个大容器里。

这样的架构,会有哪些问题呢?

  • 首先,也是最需考虑的,就是,由于这是一个机械式的结构,无论哪一个功能不工作了,都会影响到整体,进而造成系统性故障,本质上看,不够可靠。
  • 其二,无法灵活的扩展,因为是一体化应用,所有无法采纳多种技术进行构建,若是想扩展或升级,总是需要重新构建整个系统。
  • 其三,持续集成会受到严重阻碍,若想让几个新功能同时构建和部署,几乎不可能。
    以上三点原因,决定了一体化架构无法满足新时代的要求,也就是无法应对外部环境的快速变化,而让自身快速迭代、跟上时代的步伐。

机械式的结构,终将被自然选择所淘汰,有机式结构的新物种,登上舞台,必会壮大成为市场的主流。

微服务架构,就是一个有机式结构。它将应用打散,成为一系列小小的、按业务领域划分模块的自治服务。在这样的一个架构中,每个自治服务,都能实现自身单一的业务功能,而且自我包含(self-contained)。

微服务与微服务之间,在结构上呈现‘松耦合’的状态,宏观上看来,它们是一个‘统一’的整体,有着统一的权限管理、统一的安全策略、统一的上线过程、统一的日志和审计方法、统一的调度方式、统一的访问入口。
由此,经过有效的应用拆分,敏捷开发和部署得以实现。

开启微服务架构,我们首先需要一个基础的框架。

主流的框架有Dubbo和Spring Cloud,应该如何选择呢?

  • 对比一:看在开源社区的活跃度
    当我们碰到问题的时候,在社区寻求答案。社区越活跃,解决问题的速度,就会越快。这样在不断的积累下,框架会越来越完善。这是一个特别重要的点,可以为团队减少很多负担。在社区活跃度上,Spring Cloud要优于Dubbo。
  • 对比二:再看文档质量
    从背景上看,Dubbo是来自阿里巴巴的贡献,而不少科技公司的架构师来自阿里,所以它得以广泛应用。自然,Dubbo的中文文档尤其完善。Spring Cloud是Spring Source的产物,Netflix使其强大的后盾与背书。对于文档语言上,Dubbo对国内开发团队更友好。从体量上看,Spring Cloud由于整合了大量组件,体量比Dubbo大的多。Spring Cloud由于跌代快的原因,难免会出现不一致的情况。
  • 对比三:看架构完整性
    Dubbo自身实现了服务治理的基础,其他关键组件,需要找第三方开源来实现,比如:保证集群安全、可维护、可测试等等特性。而Spring Cloud下的子项目覆盖了微服务架构下的方方面面,它发扬了Spring Source整合一切的作风,也继承了Spring Boot简单配置、快速开发、轻松部署的特性,总之,解决方案的整体性会更强。

微服务的设计思想会影响越来越多的组织和团队。技术的进步,永无止境。孰优孰劣,时间会给出答案。

相关文章
|
11月前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
212 2
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
166 0
|
9月前
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
1260 9
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
9月前
|
SpringCloudAlibaba JavaScript Dubbo
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
本文介绍了 Dubbo-Admin 的安装和使用步骤。Dubbo-Admin 是一个前后端分离的项目,前端基于 Vue,后端基于 Spring Boot。安装前需确保开发环境(Windows 10)已安装 JDK、Maven 和 Node.js,并在 Linux CentOS 7 上部署 Zookeeper 作为注册中心。
2780 3
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
|
9月前
|
SpringCloudAlibaba Dubbo Java
【SpringCloud Alibaba系列】Dubbo基础入门篇
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。
【SpringCloud Alibaba系列】Dubbo基础入门篇
|
9月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
144 6
|
9月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
162 5
|
9月前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
175 5
|
11月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
1751 15