核心组件

·Sentinel:以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

·Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

·RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。. Seata:分布式事务解决方案。

除了上面这些之外,使用Spring Cloud Alibaba的时候一般会搭配下面这些Spring Cloud组件一起使用:

·OpenFeign:轻量级RESTful的HTTP服务客户端,用于替代已经进入停更维护状态的Feign (Netflix Feign)

· Gateway:用于网关服务,实现请求的转发和路由。

·Ribbon:用于客户端负载均衡,将请求分发给不同的微服务实例。

Spring Cloud Gateway(网关)

SpringCloud Gateway是SpringCloud 的一个全新项目,为了取代Netfix Zuul

为了提升网关性能,Spring Cloud Gateway 基于 Spring WebFlux。Spring WebFlux使用Reactor 库来实现响应式编程模型,底层基于Netty实现同步非阻塞的I/O

Spring Cloud Gateway 的目标是不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/指标和限流

OpenFeign

Feign主要用于远程服务调用,OpenFeign是SpringCloud官方基于Feign开发的,用于替代Feign。OpenFeign底层基于Ribbon,很多功能依赖Ribbon,不过2020后的版本底层脱离了Ribbon。

Ribbon/LoadBalancer(负载均衡)

Ribbon是一个客户端负载均衡框架,主要用于将请求动态地分发给不同的服务实例,以实现负载均衡和故障转移的功能。

Ribbon是Spring Cloud Netfix中的一员,不过目前停止维护。LoadBalancer是SpringCloud官方提供的负载均衡组件,用于替代Ribbon。

Sentinel(限流熔断)

Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel可以简单的分为sentinel核心库和Dashboard。核心库不依赖Dasthboard,但是结合Dashboard可以取得最好的效果。

·核心库(Java客户端)︰不依赖任何框架/库,能够运行于Java 8及以上的版本的运行时环境,同时对Dubbo / Spring Cloud等框架也有较好的支持

·控制台(Dashboard) : Dashboard主要负责管理推送规则、监控、管理机器信息等。

Nacos(服务发现和配置管理)

Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理的平台

Nacos的命名由三部分组成:

一张图看懂Nacos:

RocketMQ(消息队列)

RocketMQ是阿里开源的一款云原生“消息、事件、流”实时数据处理平台,借鉴了Kafka,已经成为Apache顶级项目。

RocketMQ的核心特性︰

·云原生:生与云,长与云,无限弹性扩缩,K8s友好

·高吞吐:万亿级吞吐保证,同时满足微服务与大数据场景。

·流处理:提供轻量、高扩展、高性能和丰富功能的流计算引擎。

·金融级:金融级的稳定性,广泛用于交易核心链路。

·架构极简:零外部依赖,Shared-nothing架构。

·生态友好:无缝对接微服务、实时计算、数据湖等周边生态。

Seata(分布式事务)

Seata是一款开源的分布式事务解决放啊按,致力于提供高性能和简单易用的分布式服务。提供了AT、TCC、SAGA、和XA事务模式。

Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。

青い空