Spring Cloud
Netflix
Eureka
服务治理组件,包括服务端的注册中心和客户端的服务发现机制
Ribbon
负载均衡的服务调用组件,具有多种负载均衡调用策略
Hystrix
服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力
Feign
基于Ribbon和Hystrix的声明式服务调用组件
Zuul
API 网关服务,过滤、安全、监控、限流、路由
Alibaba
Nacos
阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台
Sentinel
面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性
RocketMQ
一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务
Dubbo
Apache Dubbo™ 是一款高性能 Java RPC 框架,用于实现服务通信
Seata
阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案
Config
分布式配置中心。配置管理工具,支持使用 Git 存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新、加解密配置内容等。
Bus
事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
Security
安全工具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进行支持
Sleuth
SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟踪
Stream
轻量级事件驱动微服务框架,可以使用简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及RabbitMQ
Task
用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性
Gateway(可替代 Zuul)
Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式。Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。
OpenFeign(可替代 Feign)
OpenFeign 是 Spring Cloud 在 Feign 的基础上支持了 Spring MVC 的注解,如 @RequesMapping等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。