简介
为初次接触 Spring Cloud 的同学准备的系列教程, 从应用场景, 编码实战等方面介绍其中的各个组件.
Spring Cloud 是一套完整的微服务解决方案, 是一系列不同功能的微服务框架的集合.
Spring Cloud 基于 Spring Boot, 简化了分布式系统的开发, 集成了服务发现, 配置管理, 消息总线, 负载均衡, 断路器, 数据监控等各种服务治理能力. 比如 sleuth 提供了全链路追踪能力, Netflix 套件提供了 hystrix 熔断器, zuul 网关等众多的治理组件. config 组件提供了动态配置能力, bus 组件支持使用 RabbitMQ,kafka,Activemq 等消息队列, 实现分布式服务之间的事件通信.
图片发自简书 App
基础组件 1-Eureka server
这个是微服务的通讯录 (注册中心), 既然是微服务, 那么在调用别的微服务的时候肯定需要其他微服务的地址, 端口等信息, 而这些信息都有 Eureka Server 来管理.
而 Eureka Server 的启动比较简单, 作为一个 Spring boot 类型的项目来启动.
基础组件 2-Eureka client 之服务提供者
服务提供者要作为 Eureka 的客户端在注册中心注册为服务提供者, 这里重点是注册自己的名字和服务地址.
基础组件 3-Eureka client 之服务消费者
通过注册中心查找自己需要的服务地址, 就想提供名字查电话一样.
基础组件 4-Feign
在消费者信你使用, 简化 Http API 的调用, 使消费者调用服务提供者就想调用本地接口一样方便.
基础组件 5-Hystrix
Feign 中已经支持 Hystrix, 当服务提供者出现故障时, Hystrix 会自动切换到备胎方案.
来源: http://www.jianshu.com/p/39e7d0d8cbb9