Spring Cloud是一系列框架的有序集合。它利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务注册、服务发现、配置中心、消息总线、负载均衡、断路器、数据监控等,这些都可以用 Spring Boot 的开发风格做到一键启动和部署。
通俗地讲,Spring Cloud 就是用于构建微服务开发和治理的框架集合(并不是具体的一个框架),主要贡献来自 Netflix OSS。
Spring Cloud 模块介绍
Spring Cloud 模块的相关介绍如下:
- Eureka:服务注册中心,用于服务管理。
- Ribbon:基于客户端的负载均衡组件。
- Hystrix:容错框架,能够防止服务的雪崩效应。
- Feign:Web 服务客户端,能够简化 HTTP 接口的调用。
- Gateway:API 网关,提供路由转发、请求过滤等功能。
- Config:分布式配置管理。
- Sleuth:服务跟踪。
- Stream:构建消息驱动的微服务应用程序的框架。
- Bus:消息代理的集群消息总线。
- Task 允许用户使用Spring Cloud 开发和运行一个短生命周期的微服务。
- CLI 该工具为Spring Boot CLI提供了一组命令行增强功能,有助于进一步抽象和简化Spring Cloud部署
Spring Cloud Alibaba 模块相关
- 流量控制和服务降级 :使用 流量控制、断路和系统自适应保护 Sentinel
- 服务注册与发现 :实例可以注册到 阿里巴巴 Nacos ,客户端可以使用 Spring 管理的 bean 来发现实例。 通过 Spring Cloud Netflix 支持 Ribbon,客户端负载均衡器
- 分布式配置 :使用 阿里巴巴Nacos 作为数据存储
- Event-driven :构建与 Spring Cloud Stream 连接的高度可扩展的事件驱动微服务 RocketMQ Binder
- 消息总线 :使用 Spring Cloud Bus RocketMQ 链接分布式系统的节点
- 分布式事务 :支持高性能、易用的分布式事务解决方案与 Seata
- Dubbo RPC :通过 扩展Spring Cloud服务到服务调用的通信协议 Apache Dubbo RPC
Spring Cloud 是一个非常好的框架集合,它包含的功能模块非常多,不可能一一讲解到,凡是在教程中出现的模块都是真实开发中用得到的。