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

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

相关文章
|
28天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
44 0
|
1月前
|
SpringCloudAlibaba Dubbo Java
【五】SpringCloud Alibaba之整合Dubbo(实现远程调用)
【五】SpringCloud Alibaba之整合Dubbo(实现远程调用)
43 0
|
1月前
|
消息中间件 Cloud Native Java
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
|
27天前
|
负载均衡 Java API
Spring Cloud 面试题及答案整理,最新面试题
Spring Cloud 面试题及答案整理,最新面试题
128 1
|
1月前
|
SpringCloudAlibaba Dubbo Java
SpringCloud Alibaba集成Dubbo实现远程服务间调用
SpringCloud Alibaba集成Dubbo实现远程服务间调用
|
27天前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
129 0
|
28天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
123 0
|
28天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
76 0
|
29天前
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
356 0
|
14天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。