SpringCloud Config
Spring
配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。
SpringCloud Bus
Spring
事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
Eureka
Netflix
云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
Hystrix
Netflix
熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
Zuul
Netflix
Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
Archaius
Netflix
配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
Consul
HashiCorp
封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
Spring Cloud for Cloud Foundry
Pivotal
通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
SpringCloud Sleuth
Spring
日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
SpringCloud Data Flow
Pivotal
大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。
SpringCloud Security
Spring
基于spring security的安全工具包,为你的应用程序添加安全控制。
SpringCloud Zookeeper
Spring
操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。
SpringCloud Stream
Spring
数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
SpringCloud CLI
Spring
基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
Ribbon
Netflix
提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
Turbine
Netflix
Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。
Feign
OpenFeign
Feign是一种声明式、模板化的HTTP客户端。
SpringCloud Task
Spring
提供云端计划任务管理、任务调度。
SpringCloud Connectors
Spring
便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。
SpringCloud Cluster
Spring
提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。
Spring Cloud Starters
Pivotal
Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。
---------------------------------------------------------------------------------
以下是Eureka和Zookeeper区别
Eureka遵守的就是AP原则,Zookeeper遵守的是CP原则。
CAP指的是:强一致性(C)Consistency。
可用性(A)Avaliability。
分区容错性(P)Partition tolerance。
Zookeeper保证CP。
当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用。
Eureka保证AP。
Eureka看明白了这一点,因此在设计时就优先保证 可用性。Eureka不再从注册列表中移除因为长时间没收到心跳而应该过期的服务。
Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像zookeeper那么使整个注册服务瘫痪。