目录
SpringCloud学习笔记
背景
Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式 会话,群集状态)。 分布式系统的协调导致了样板式样,并且使用Spring Cloud开发人员可以快速站起来实现这些样板的服务和应用程序。 它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑,裸机数据中心以及Cloud Foundry等托管平台。
特征
Spring Cloud专注于为典型的用例和可扩展性机制(包括其他用例)提供良好的开箱即用体验。
- 分布式/版本化配置
- 服务注册和发现
- 路由
- 服务到服务的呼叫
- 负载均衡
- 断路器
- 全局锁
- 领导选举和集群状态
- 分布式消息传递
主要项目组成
-
基于git存储库支持的集中式外部配置管理。 配置资源直接映射到Spring Environment,但是如果需要,可以由非Spring应用程序使用。
-
与各种Netflix OSS组件(Eureka,Hystrix,Zuul,Archaius等)集成。
-
在分布式消息传递中,将服务实例之间连接起来的事件总线;在集群环境中发布状态变更(例如配置更改事件)非常有用。
-
Spring Cloud Cloudfoundry(服务的注册、发现、权限验证)
负责将您的应用程序与Pivotal Cloud Foundry集成。 提供服务发现实现,还可以轻松实现SSO和OAuth2保护的资源。
-
Spring Cloud Open Service Broker
为一个正在运行的节点提供基于开源服务熔断API实现的服务熔断期
-
领导选举、常见状态模式的抽象、Zookeeper、Redis、Consul的实现
-
基于Hashicorp Consul的服务发现、配置管理。
-
Spring Cloud Security
基于OAuth2的负载均衡rest客户端的提供呢、Zuul代理中的认证信息头的传递
-
SpringCloud应用的分布式跟踪,已兼容ZipKin、Htrace和基于日志(ELK);
-
A cloud-native orchestration service for composable microservice applications on modern runtimes. Easy-to-use DSL, drag-and-drop GUI, and REST-APIs together simplifies the overall orchestration of microservice based data pipelines.
针对现代运行时可组合微服务应用程序的云原生编排服务。 易于使用的DSL,拖放式GUI和REST-API共同简化了基于微服务的数据管道的总体编排。
-
一个轻量级的事件驱动的微服务框架,用于快速构建可以连接到外部系统的应用程序。 在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明性模型。
-
Spring Cloud Task App Starters
Spring Cloud Task App Starters are Spring Boot applications that may be any process including Spring Batch jobs that do not run forever, and they end/stop after a finite period of data processing.
Spring Cloud Task App Starters是Spring Boot应用程序,可以是任何进程,包括不会永远运行的Spring Batch作业,它们在有限的数据处理周期后结束/停止。
-
A short-lived microservices framework to quickly build applications that perform finite amounts of data processing. Simple declarative for adding both functional and non-functional features to Spring Boot apps.
一个短暂的微服务框架,可快速构建执行有限数量数据处理的应用程序。 用于向Spring Boot应用程序添加功能和非功能功能的简单声明。
-
基于Apache Zokkeeper的服务发现与管理配置
-
使各种平台上的PaaS应用程序轻松连接到后端服务,例如数据库和消息代理(该项目以前称为“ Spring Cloud”)。
-
Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序