微服务技术选型

Apache Dubbo

Apache Dubbo 是一款微服务开发框架,它提供了 RPC通信 与 微服务治理 两大关键能力。

Apache Dubbo 提供以下能力:

  • RPC通信

    • 通信协议

  • 微服务治理

    • 服务发现

    • 负载均衡

    • 集群容错

    • 服务降级

    • 服务流量管理

    • 配置管理

Apache ServiceComb

Apache ServiceComb 是一个微服务的开源解决方案。

Apache ServiceComb 提供以下能力:

  • REST和RPC通信

  • 服务注册与发现

  • 配置管理

  • 服务治理

    • 负载均衡

    • 流量控制 本地应用配置

    • 熔断降级 本地应用配置

  • 分布式跟踪 服务端为 Zipkin

Spring Cloud

Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话,集群状态)。

2022.0.x

  1. Spring Cloud Commons

  2. Spring Cloud Circuit Breaker 断路器 支持 Sentinel

  3. Spring Cloud LoadBalancer 负载均衡

  4. Spring Cloud Netflix Ribbon 负载均衡

  5. Spring Cloud Config 配置管理 (Git仓库)

  6. Spring Cloud Gateway 服务网关

  7. Spring Cloud Netflix 服务注册与发现 Eureka

  8. Spring Cloud OpenFeign 声明式 REST 客户端

  9. Spring Cloud Sleuth 分布式跟踪

Spring Cloud Alibaba

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。

Spring Cloud Alibaba 提供以下能力:

  • 服务限流降级

  • 服务注册与发现

  • 分布式配置管理

  • 消息驱动能力

  • 分布式事务

  • 阿里云对象存储

  • 分布式任务调度

  • 阿里云短信服务

Spring Cloud Tencent

Spring Cloud Tencent 是腾讯开源的一站式微服务解决方案。

Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polaris,实现各种分布式微服务场景。

Spring Cloud Tencent 提供以下能力:

  • 服务注册与发现

  • 动态配置管理

  • 服务治理

    • 服务熔断

    • 服务限流

    • 服务路由

  • 标签透传

TARS

Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台。

Tars 提供以下能力

  • RPC通讯

    • Tars 协议

  • 路由与管理服务

    • 服务注册与发现

  • 服务治理

    • 负载均衡

    • 容错保护

    • 过载保护

    • IDC 分组

    • SET 分组

  • 发布管理

  • 配置中心

  • 立体监控

    • 消息染色

    • 远程日志

    • 调用统计

    • 业务属性

    • 异常信息

微服务技术选型

微服务解决方案核心应包括:

  • 服务调用

  • 服务注册与发现

    • 负载均衡

  • 动态配置管理

  • 服务治理

    • 路由

    • 限流

    • 熔断

    • 降级

1. 技术选型结论

  • C++ 选择 TARS

  • Java 选择 Spring Cloud Tencent

2. 技术选型考虑

  • 开源

  • 经过生产实践

  • 基于行业的标准或事实标准

  • 通过管控平台进行服务治理

  • 生态繁荣

  • 大厂支持

3. 技术选型补充

  • TARS 除了提供微服务核心功能,还提供发布管理、立体监控。平台功能完善。

  • Spring Cloud Tencent 依托一站式服务发现与治理平台 Polaris,实现各种分布式微服务场景。Polaris 总结微服务解决方案的核心需求,为微服务提供了统一的服务发现与治理平台。统一的管控平台印象深刻。

  • Spring Cloud Alibaba 中Nacos在服务发现与服务配置表现优秀,Sentinel 断路器功能丰富,虽然有Dashboard,但更像一个SDK工具。

  • Spring Cloud 已经是微服务解决方案的事实标准,它定义了一套标准的微服务 SPI。

  • Apache ServiceComb 提供的服务治理部分还是以SDK工具的方式。没有集中的管控平台。

  • Apache Dubbo 面向服务架构时代的产品。微服务时代Spring Cloud已经是微服务解决方案的事实标准。

参考

Apache Dubbo

Apache ServiceComb

TARS - Focus on Microservice Ecosystem

https://github.com/Tencent/spring-cloud-tencent

https://github.com/alibaba/spring-cloud-alibaba

Spring Cloud

你可能感兴趣的:(微服务,spring,cloud,java)