依赖于其他组件并为它们提供服务
Ribbon:客户端负载均衡器
Hystrix:客户端容错保护,断路器(服务熔断),请求缓存,请求合并等等
Stream:消息驱动,有Processor,Sink,Source三种通道。特性有发布订阅,消息区分,消费组
Bus:消息总线,配合Config仓库修改的一种Stream实现
独自启动不需要依赖其他的组件及常用组件
Eureka:注册中心,特性有失效剔除、服务保护,可以用 Zookeeper 和 Consul 代替
Zuul:API服务网关,功能有路由分发和过滤,可以用 SpringCloudGateway 代替
Config:分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式
SpringCloudBus:消息总线,默认基于 RabbitMQ 和 Kafka 实现
SpringCloudConfig:统一配置中心,分为 server 端和 client 端
SpringCloudStrean:数据流处理,默认基于 RabbitMQ 和 Kafka
SpringCloudSleuth:结合 SpringCloudZipkin 实现链路追踪
每个组件解决的问题
Eureka和Ribbon:最基础的2个组件,一个注册,一个消费
Hystrix为了优化Ribbon、防止整个微服务架构因为某个服务节点的问题导致崩溃,相当于保险丝的作用
Zuul是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,加强安全保护的
Config是为了解决所有微服务各自维护各自的配置,设置一个统一的配置中心,方便修改配置的