关于微服务架构方案选型

关于微服务架构方案选型

推荐优先采用 Spring Cloud Alibaba 方案

概述

目前业界对 Spring Cloud 使用最广的就是 Spring Cloud Netflix 了。

2018年12月12日 Spring Cloud Netflix项目宣布已经进入维护模式 官方新闻

什么是维护模式?

将模块置于维护模式意味着Spring Cloud团队将不再向该模块添加新功能。我们将修复阻止程序错误和安全性问题,还将考虑并审查社区的一些小请求。自Greenwich.Release发布全面上市以来,我们打算继续为这些模块提供至少一年的支持。

这意味着继续使用它再也没有新功能福利了;

推荐替代品

服务熔断 Hystrix Resilience4j
监控 Hystrix Dashboard / Turbine Micrometer + Monitoring System
负载均衡 Ribbon Spring Cloud Loadbalancer
路由网关 Zuul Spring Cloud Gateway
分布式配置 Archaius Spring Boot external config + Spring Cloud Config

Spring Cloud Netflix

Spring Cloud Netflix功能:

  • 服务发现:可以注册Eureka实例,并且客户端可以使用Spring托管的Bean发现实例
  • 服务发现:可以使用声明性Java配置创建嵌入式Eureka服务器
  • 断路器:Hystrix客户端可以使用简单的注释驱动的方法装饰器构建
  • 断路器:具有声明性Java配置的嵌入式Hystrix仪表板
  • 声明式REST客户端:Feign创建一个用JAX-RS或Spring MVC注释修饰的接口的动态实现。
  • 客户端负载均衡器:功能区
  • 外部配置:从Spring Environment到Archaius的桥梁(使用Spring Boot约定启用Netflix组件的本机配置)
  • 路由器和过滤器:Zuul过滤器的自动重新注册,以及用于反向代理创建的简单配置约定

Spring Cloud Alibaba

Github官网

Spring Cloud Alibaba 特征:

  • 流量控制和服务降级:使用Sentinel进行流量控制,断路和系统自适应保护。
  • 服务注册和发现:实例可以在Nacos上注册,客户可以使用Spring管理的bean发现实例。支持通过Spring Cloud Netflix的客户端负载均衡器Ribbon。
  • 分布式配置:使用Nacos作为数据存储
  • 事件驱动:构建与Spring Cloud Stream RocketMQ Binder连接的高度可扩展的事件驱动微服务
  • 消息总线:使用Spring Cloud Bus RocketMQ链接分布式系统的节点
  • 分布式事务:支持高性能且易于使用的Seata分布式事务解决方案
  • Dubbo RPC:通过Dubbo RPC扩展Spring Cloud服务到服务调用的通信协议
  • 阿里云对象存储:OSS的Spring资源抽象。阿里云对象存储服务(OSS)是一种加密,安全,经济高效且易于使用的对象存储服务,可让您在云中存储,备份和存档大量数据

对比

Spring Cloud Netflix Spring Cloud Alibaba Spring Cloud Dubbo + Zookeeper
注册中心 Eureka Nacos —— Zookeeper
服务熔断 Hystrix Sentinel —— ——
服务调用 Feign(内置Ribbon) Dubbo Rpc OpenFeign RestTemplate ——
服务路由 Zuul Dubbo PROXY Spring Cloud Gateway ——
分布式消息 —— RocketMQ RabbitMQ ——
负载均衡 Ribbon Dubbo LB —— ——
分布式事务 —— Seata —— ——
分布式配置 Archaius Nacos Spring Cloud Config Zookeeper

Dubbo 与 Spring Cloud 性能比较

avatar

Spring Cloud alibaba 技术架构

avatar

建议

  1. Spring CloudDubbo + Zookeeper属于自行组装。

  2. Spring Cloud Netflix 系列技术栈进入维护模式(不再添加新特性)

  3. Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案(全家桶)。并且已经贡献给Spring

推荐优先采用 Spring Cloud Alibaba 方案

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章