ribbon |
| 客户端负载均衡,主要用于均衡负载作用,它可以判断并分发具体的请求到后端的具体应用服务实例,起到分发压力的作用。 | |||
Hystrix | 英[hɪst'rɪks] 美[hɪst'rɪks] | 客户端容错管理工具 ,负责处理服务超时熔断、 服务降级、请求缓存、请求合并、依赖隔离 | |||
Feign |
| 基于Ribbon和Hystrix的声明式服务调用 | |||
Stream | 这个谁的都会念,略 | 数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。 | |||
Bus | 同上 | 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。 | |||
Sleuth | 英[slu:θ] 美[sluθ] | 分布式服务跟踪系统 日志收集工具包,封装了Dapper,Zipkin和HTrace操作。 | |||
Eureka | 英[juˈri:kə] 美[jʊ'ri:kə] | 服务治理组件,包含服务注册中心,服务注册于发现机制的实现 | |||
Config | 略 | 配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。 | |||
Zuul | 略 | 边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。 | |||
Data Flow | 略 | 大数据操作工具,通过命令行方式操作数据流。 |
微服务架构需要的功能或使用场景
1:我们把整个系统根据业务拆分成几个子系统。
2:每个子系统可以部署多个应用,多个应用之间使用负载均衡。
3:需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现。
4:所有的客户端都通过同一个网关地址访问后台的服务,通过路由配置,网关来判断一个URL请求由哪个服务处理。请求转发到服务上的时候也使用负载均衡。
5:服务之间有时候也需要相互访问。例如有一个用户模块,其他服务在处理一些业务的时候,要获取用户服务的用户数据。
6:需要一个断路器,及时处理服务调用时的超时和错误,防止由于其中一个服务的问题而导致整体系统的瘫痪。
7:还需要一个监控功能,监控每个服务调用花费的时间等。