spring cloud 架构图
常用主要组件: | ||
组件 | 名称 | 功能描述 |
Eureka | 服务注册中心 | 实现服务治理(服务注册与发现) 服务注册中心(eureka-server):提供服务注册功能 服务提供方(eureka-client):注册服务到服务注册中心 |
Ribbon | 客户端负载均衡 | ribbon是一个建立在http或tcp之上的本地负载均衡器 ribbon提供的负载均衡算法属于客户端算法 |
Hystrix | 客户端容错保护 | 具有服务降级、服务容错、服务熔断、请求缓存、请求合并、依赖隔离以及服务监控等强大功能 |
Feign | 声明式服务调用 | Feign在RestTemplate的基础上对其封装 本质上是Ribbon+Hystrix |
Zuul | API服务网关 | 路由分发和过滤 具体作用有: 动态路由、监控、安全、认证鉴权、压力测试、金丝雀测试、审查、服务迁移、负载剪裁、 |
Config | 分布式配置中心 | Config Server:是一个集中式、可扩展的配置服务器,它可以集中管理应用程序各个环境下的配置,默认使用Git存储配置内容 Config Client:是Config Server的客户端,用于操作存储在Config Server中的配置内容 |
Bus | 消息总线 | 整合java的事件处理机制和消息中间件消息的发送和接受,主要由发送端、接收端和事件组成。针对不同的业务需求,可以设置不同的事件,发送端发送事件,接收端接受相应的事件,并进行相应的处理 |
辅助组件: | ||
Stream | 消息驱动 | 整合了Spring Boot和SpringIntegration,实现了一套轻量级的消息驱动的微服务框架, 特性有订阅发布、消费组、消息分区 目前支持的消息中间件:RabbitMQ、Kafka |
Sleuth | 分布式服务追踪 | SpringCloud 之中提供的 Sleuth 技术可以实现微服务的调用跟踪, 也就是说它可以自动的形成一个调用连接线, |
Dashboard | Hystrix仪表盘 | 监控集群模式和单点模式,其中集群模式需要收集器Turbine配合 |
Archaius | 配置管理API | 包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能 |
Consul | 封装了Consul操作 | consul是一个服务发现与配置工具,与Docker容器可以无缝集成。 |