1. Spring Cloud
Spring Cloud 是一站式微服务解决方案,微服务全家桶,通过集成一系列工具,来解决微服务中遇到的所有问题。
- Spring Cloud是工具集。
- 不是一个独立的框架。
- 通过Springboot来集成所有的工具,提供默认配置和一些辅助工具。
- 开箱即用
1.1 十个工具
- 一个中心:eureka注册中心
- 二个基本点:ribbon、hystrix
- 三个工具:feign、zuul、config+bus
- 四个监控:hystrix dashborad、turbine、sleuth、zipkin
1.2 eureka注册中心
1.2.1 注册和发现
- 所有为服务项目启动,都要把地址注册到注册中心
- 服务之间调用,通过注册表来互相发现
1.2.2 eureka注册中心搭建:
- 新建项目:sp05-eureka
- 添加依赖:eureka-server
- yml配置:
- 主机名:eureka-cluster1
- 针对单台服务器,不注册,也不拉取
- 禁用保护模式
- 启动类添加注解:@EnableEurekaServer 通过注解来触发自动配置
1.2.3 eureka运行机制
- 客户端注册过程:一次一次反复注册,直到注册成功为止。
- 客户端拉取注册表:每30秒拉取一次,刷新注册表。
- 客户端发送心跳:每30秒发送一次心跳数据,如果服务器连续三次收不到一个服务的心跳,会删除这个服务。
- 自我保护模式:
- 由于网络中断,15分钟内,85%服务器出现心跳异常,会自动进入保护模式,所有注册信息不删除。
- 等网络恢复之后,可以自动退出保护模式,恢复正常。
- 开发调试期间可以禁用保护模式,避免影响测试。
1.2.4 客户端连接eureka
修改sp02、sp03、sp04项目
- 配置hosts文件,添加eureka1和eureka2的域名映射
- 127.0.0.1 eureka1
- 127.0.0.1 eureka2
- 添加依赖:eureka client
- 设置eureka 服务器地址:http://eureka1:2001/eureka