微服务历史、Spring Cloud 技术栈整体介绍
Spring Cloud(零):微服务的那些事儿
Spring Cloud 技术栈组成
服务治理
Spring Cloud 的核心。目前 Spring Cloud 主要通过整合 Netflix 的相关产品来实现这方面的功能(Spring Cloud Netflix),包含以下组件:
- **Eureka:**包括用于服务注册和发现的 ;
- **Hystrix:**调用断路器 ;
- **Ribbon:**调用端负载均衡 ;
- **Feign:**Rest 客户端 (整合了 Hystrix 和 Ribbon);
- **Zuul:**智能服务路由;
- Spectator、Servo、Atlas:用于监控数据收集和展示的 ;
- RxJava:用于配置读取的 Archaius 和提供 Controller 层 Reactive 封装的;
分布式链路监控
- Spring Cloud Sleuth: 提供了全自动、可配置的数据埋点,以收集微服务调用链路上的性能数据,并发送给 Zipkin 进行存储、统计和展示。
消息组件
- Spring Cloud Stream :对于分布式消息的各种需求进行了抽象,包括发布订阅、分组消费、消息分片等功能,实现了微服务之间的异步通信。Spring Cloud Stream 也集成了第三方的 RabbitMQ 和 Apache Kafka 作为消息队列的实现。
- **Spring Cloud Bus:**基于 Spring Cloud Stream,主要提供了服务间的事件通信(比如刷新配置)。
配置中心