Spring Cloud 参考文档
Spring Cloud侧重于为典型用例提供良好的开箱即用体验,并提供可扩展性机制来覆盖其他用例。
- 版本:Greenwich.RELEASE
特性:
- 分布式/版本化配置
- 服务注册及发现
- 路由
- 服务调用
- 负载均衡
- 断路器
- 分布式消息传递
Cloud Native应用程序
Cloud Native是一种应用程序开发风格,这鼓励在持续交付和价值驱动开发领域容易采用最佳实践。一个相关的规程是构建12因素的应用程序,其中开发实践与交付和操作目标保持一致 – 例如,通过使用声明式编程和管理以及监控。Spring Cloud以多种特定方式促进这些开发风格,起点是一组分布式系统中的所有组件都需要方便地访问的特性。
许多这些特性都由Spring Boot覆盖,Spring Cloud就是在Spring Boot之上构建的,Spring Cloud作为两个库提供了更多的特性:Spring Cloud Context和Spring Cloud Commons。Spring Cloud Context为Spring Cloud应用程序的ApplicationContext
提供实用工具和特殊服务(引导上下文、加密、刷新作用域和环境端点)。Spring Cloud Commons是一组抽象和通用类,被用在不同的Spring Cloud实现(如Spring Cloud Netflix和Spring Cloud Consul)。
如果由于“Illegal key size”而导致异常,并且你使用Sun的JDK,则需要安装Java加密扩展(JCE)无限制强度权限策略文件,有关更多信息,请参阅以下链接:Java 6 JCE、Java 7 JCE、Java 8 JCE。
无论你使用哪种版本的JRE/JDK x64/x86,都要将文件解压缩到JDK/jre/lib/security
文件夹中。
Spring Cloud Config
Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持,使用Config Server,你有一个中心位置来管理跨所有环境的应用程序的外部属性。客户端和服务器上的概念相同的映射到Spring Environment
和PropertySource
抽象,因此它们非常适合Spring应用程序,但可以用于任何语言中运行的应用程序。随着应用程序通过部署管道从开发到测试再到生产,你可以管理这些环境之间的配置,并确保应用程序在迁移时拥有运行所需的一切。服务器存储后端的默认实现是使用git,因此它很容易支持配置环境的标签版本,并且可以被用于管理内容的各种工具访问。添加替代实现并使用Spring配置插入它们很容易。
- Spring Cloud Config快速入门
- Spring Cloud Config Server
- 提供纯文本配置访问
- 嵌入Config Server
- 推送通知和Spring Cloud Bus
- Spring Cloud Config Client
Spring Cloud Netflix
该项目通过自动配置和Spring Environment绑定以及其他Spring编程模型语法为Spring Boot应用程序提供Netflix OSS集成,通过一些简单的注解,你可以快速启用和配置应用程序内的通用模式,并使用经过实战考验的Netflix组件构建大型分布式系统,提供的模式包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载均衡(Ribbon)。
- 服务发现:Eureka客户端
- 服务发现:Eureka Server
- 断路器:Hystrix客户端
- Hystrix超时和Ribbon客户端
- 客户端负载均衡器:Ribbon
- 外部配置:Archaius
- 路由器和过滤器:Zuul
- 使用Sidecar支持多语言
- 重试失败的请求
- HTTP客户端
Spring Cloud OpenFeign
该项目通过自动配置和绑定到Spring环境以及其他Spring编程模型语法为Spring Boot应用程序提供OpenFeign集成。
Spring Cloud Stream
- 快速开始
- 2.0新特性
- 介绍Spring Cloud Stream
- 主要概念
- 编程模型
- 绑定
- 配置选项
- 内容类型协商
- 模式演化的支持
- 应用程序之间的通信
- 测试
- 健康指示器
- 指标发射器
- 样例
Binder实现
- Apache Kafka Binder
- Apache Kafka Streams Binder
- RabbitMQ Binder
Spring Cloud Bus
- 快速开始
- Bus端点
- 寻址实例
- 寻址服务的所有实例
- 服务ID必须是唯一的
- 定制消息代理
- 追踪Bus事件
- 广播你自己的事件
Spring Cloud Sleuth
Spring Cloud Consul
- 安装Consul
- Consul代理
- 服务发现与Consul
- 分布式配置与Consul
- Consul重试
- Spring Cloud Bus与Consul
- 熔断器与Hystrix
- Hystrix指标聚合与Turbine和Consul
Spring Cloud Zookeeper
- 安装Zookeeper
- 服务发现与Zookeeper
- 使用Spring Cloud Zookeeper与Spring Cloud Netflix组件
- Spring Cloud Zookeeper和服务注册
- Zookeeper依赖关系
- Spring Cloud Zookeeper依赖Watcher
- 分布式配置与Zookeeper
Spring Boot Cloud CLI
- 安装
- 在开发中运行Spring Cloud服务
- 编写Groovy脚本并运行应用程序
- 加密和解密
Spring Cloud Security
- 快速开始
- 更多细节
- 在Zuul代理的下游配置身份验证
Spring Cloud用于Cloud Foundry
- 发现
- 单点登录
Spring Cloud Contract
- Spring Cloud Contract
- Spring Cloud Contract Verifier介绍
- Spring Cloud Contract常见问题
- Spring Cloud Contract Verifier设置
- Spring Cloud Contract Verifier消息传递
- Spring Cloud Contract Stub Runner
- Stub Runner用于消息传递
- Contract DSL
- 定制化
- 使用可插拔架构
- Spring Cloud Contract WireMock
- 迁移
- 链接
Spring Cloud Vault
- 快速开始
- 客户端使用
- 身份验证方法
- Secret后端
- 数据库后端
- 配置
PropertySourceLocator
行为 - 服务注册配置
- Vault Client快速故障
- Vault客户端SSL配置
- 租赁生命周期管理(续租及撤销)
Spring Cloud Gateway
- 如何包含Spring Cloud Gateway
- 术语表
- 工作原理
- 路由Predicate Factories
- GatewayFilter Factories
- 全局过滤器
- TLS / SSL
- 配置
- CORS配置
- Actuator API
- 开发者指南
- 使用Spring MVC或Webflux构建一个简单的网关
Spring Cloud Function
- 介绍
- 入门
- 构建并运行Function
- Function目录和灵活的Function签名
- 独立的Web应用程序
- 独立的流应用程序
- 部署打包的Function
- 动态编译
- Serverless平台适配器