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简单配置、快速开发、轻松部署的特性,总之,解决方案的整体性会更强。

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

相关文章
|
4月前
|
监控 负载均衡 Java
深入理解Spring Cloud中的服务网关
深入理解Spring Cloud中的服务网关
|
1月前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
58 2
|
3月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
86 0
|
1月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
4月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14979 30
|
4月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
511 15
|
4月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
115 3
|
3月前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
101 0
|
4月前
|
消息中间件 Java 开发者
Spring Cloud微服务框架:构建高可用、分布式系统的现代架构
Spring Cloud是一个开源的微服务框架,旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具,用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的支持。
191 5
下一篇
无影云桌面