Spring Cloud学习笔记
Spring Cloud是一整套的解决方案,它提供的工具让你能够快速实现某些分布式系统组件,包括:
- 配置管理:分布式、版本化的配置
- 服务发现:服务注册和发现
- 断路器
- 负载均衡
- 智能路由
- 微代理
- 控制总线
- 一次性Token
- 全局锁
- 领导选举和集群状态
- 分布式会话
- 分布式消息
Spring Cloud可以在多种环境下运行,包括开发人员的笔记本、裸金属数据中心、Kubernetes等PaaS平台。
Spring Cloud沿用了Spring家族的那种声明式的风格,很多情况下,你只需要修改Classpath并添加各种注解:
1 2 3 4 5 6 7 |
@SpringBootApplication @EnableDiscoveryClient public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } |
以一个Git仓库为后备存储,中心化外部配置的管理。这些配置资源直接映射为Spring的Environment,但也可以用于非Spring应用程序。
和各种Netflix OSS组件集成:
- Eureka:服务注册中心,提供服务注册、健康检查功能
- Hystrix:一个服务状态监控模板,并提供容错机制
- Zuul:注册到Eureka的特殊服务,提供服务发现功能,作为系统面向外部(APP、Web、开放平台)的网关
- Archaius:分布式配置管理依赖构件
使用分布式消息来将服务、服务实例连接到一起的事件总线。
将你的应用和Pivotal Cloud Foundry进行集成。提供服务发现的一种实现,并且让实现SSO、OAuth2更加容易。
提供实现基于Open Service Broker API的服务代理的起点。
提供领导选举,以及一系列常用的有状态模式。
基于Hashicorp Consul实现服务发现和配置管理。
在Zuul代理中提供经过负载均衡的OAuth2 REST客户端以及身份验证头中继。
分布式追踪,和Zipkin、HTrace、基于日志的追踪(EFK)兼容。
简化基于微服务的数据流水线的编排。
事件驱动的微服务框架,快速实现和外部系统的连接。以声明式的方式,基于Kafka或RabbitMQ在SpringBoot应用之间收发消息。
用于快速构建进行有限量的数据处理的微服务
基于ZooKeeper进行配置管理和服务发现。
Spring Cloud Config为分布式系统的客户端、服务器提供中心化的配置支持。通过其提供的配置服务器,你可以为所有环境集中的管理所有外部属性。在服务器端、客户端,配置都映射到Environment、PropertySource这些Spring抽象,因此和Spring应用程序可以很好的集成。即使是其它语言编写的应用程序,也能和SCC配合。应用程序从开发环境晋升到测试、生产环境的过程中,配置信息的差异会被很好的管理。
Leave a Reply