啥?到现在还不知道选哪个微服务架构,这篇文章告诉你

发布时间:2024年01月17日

啥?到现在还不知道选哪个微服务架构,这篇文章告诉你

Dubbo

官网地址:https://cn.dubbo.apache.org/zh-cn/
Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。
“Dubbo3 已在阿里巴巴内部微服务集群全面落地,用于升级运行多年的 HSF2 框架。”

核心特性:
  • 灵活部署模式
    一键拉起服务治理体系,屏蔽底层跨平台的微服务基础设施复杂度,支持虚拟机、Docker、Kubernetes、服务网格等多种部署模式。

  • 服务发现
    Dubbo 提供了高性能、可伸缩的服务发现机制,面向百万集群实例规模设计,默认提供 Nacos、Zookeeper 等注册中心适配并支持自定义扩展。
    Dubbo Rust依赖第三方注册中心组件来协调服务发现过程,支持的注册中心: Nacos、Zookeeper。

  • 流量管控
    Dubbo 提供的基于路由规则的流量管控策略,可以帮助实现全链路灰度、金丝雀发布、按比例流量转发、动态调整调试时间、设置重试次数等服务治理能力。

  • 通信协议
    支持 HTTP/2、gRPC、TCP、REST 等任意通信协议,切换协议只需要修改一行配置,支持单个端口上的多协议发布。

  • 多语言 SDK
    提供 Java、Golang、Rust、Node.js、Python 等多语言 SDK 实现,支持基于 IDL 的跨语言服务定义和基于 Protobuf、Json 的数据编码

  • 可扩展性
    一切皆可扩展,通过扩展 (Filter、Router、Service Discovery、Configuration 等) 自定义调用、管控行为,适配开源微服务生态。

  • 可观测性
    多维度的可观测指标(Metrics、Tracing、Accesslog)帮助了解服务运行状态,Admin 控制台、Grafana 等帮助实现数据指标可视化展示。

  • 认证鉴权
    支持基于 TLS 的传输链路认证与加密通信以及基于请求身份的权限校验,帮助构建零信任分布式微服务体系。

  • 服务网格(Service Mesh)
    灵活的数据面 (Proxy & Proxyless) 部署形态支持,无缝接入 Istio 控制面治理体系。

  • 丰富生态
    一站式微服务生态适配:注册中心、网关、限流降级、负载均衡、一致性事务、异步消息、Tracing 等。

Dubbo优势优势之一,就是它是国内人员开发的,对国内开发者比较友好,查找相关资料,问题解决方便。

SpringCloud

官网地址:https://spring.io/projects/spring-cloud/
Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管>理、服务发现、熔断器、智能路由、微代理、控制总线、短期微服务和合约测试)。分布式系统的协调导致了样板模式,使用 Spring Cloud 开发人员可以快速建立实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑、裸机数据中心和托管平台(如 Cloud Foundry)。

核心特性:
  • Distributed/versioned configuration(分布式/版本化配置)

  • Service registration and discovery(服务注册和发现)

  • Routing(路由)

  • Service-to-service calls(服务到服务调用)

  • Load balancing(负载均衡)

  • Circuit Breakers(断路器)

  • Distributed messaging(分布式消息传递)

  • Short lived microservices (tasks)(生存期较短的微服务(任务))

  • Consumer-driven and producer-driven contract testing(消费者驱动和生产者驱动的合同测试)

SpringCloud最大的优势是延续了SpringBoot风格,开箱即用,配置简单,功能齐全,解决了大部分开发痛点。

SpringCloudAlibaba

官网地址:https://spring.io/projects/spring-cloud-alibaba/
SpringCloudAlibaba(https://sca.aliyun.com/en-us/)
为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用 Spring Cloud 开发应用程序。
使用Spring Cloud Alibaba,您只需要添加一些注解和少量配置,即可将SpringCloud应用连接到阿里巴巴的分布式解决方案中,并使用阿里巴巴中间件构建分布式应用系统。

核心特性:
  • 流量控制与业务降级
    基于阿里Sentinel的流量控制、熔断和系统自适应保护

  • 服务注册和发现
    实例可以注册到阿里巴巴Nacos,客户端可以使用Spring托管的bean发现实例。支持 Ribbon,通过 Spring Cloud Netflix 的客户端负载均衡器

  • 分布式配置
    使用阿里巴巴Nacos作为数据存储

  • 事件驱动
    构建高扩展性的事件驱动微服务,连接Spring Cloud Stream RocketMQ Binder

  • 消息总线
    将分布式系统的节点与Spring Cloud Bus RocketMQ进行连接

  • 分布式事务
    支持分布式事务解决方案,具有高性能和易用性

  • Dubbo RPC
    通过 Apache Dubbo RPC 扩展 Spring Cloud 服务到服务调用的通信协议

SpringCloudAlibaba是融合了SpringCloud和Dubbo的优势所开发出的产品,加上阿里的创新,性能不容小觑。

大家好,我是时生,站在巨人的肩膀做出的一点点改变。欢迎批评,欢迎指正,欢迎共享,有事私信。
如果这篇文章对你有帮助,麻烦点个赞呗!

文章来源:https://blog.csdn.net/qq_41883461/article/details/135657770
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。