SpringCloud学习01

Spring Cloud是什么

spring cloud是一个工具集

通过集成多个工具,来解决微服务中的各种问题 微服务全家桶

spring cloud不是什么?

spring cloud不是一个解决单一问题的工具 远程调用-RestTemplate 负载均衡-Ribbon 重试-Ribbon 降级、熔断、限流-Hystrix 监控-Hystrix Dashboard Turbine Sleuth Zipkin 配置中心-Config server ...

业务模块

02-item
03-user
04-order

1.工具类-不用自己写,在gitee或github搜索
CookieUtil、JsonUtil、JsonResult
2.TypeReference
指定转换的类型:new TypeReference<List<User>>() {}
3.@RequestBody
用来接收参数,从请求协议体数据

注册和发现

注册中心产品:
zookeeper、eureka、nacos、consul、etcd...

eureka

1.注册
服务的提供者启动时,向eureka一次次反复注册,直到注册成功为止

2.拉取注册表
服务发现者每30秒拉取一次注册表(刷新注册表)

3.心跳
服务提供者每30秒发送一次心跳数据
eureka连续3次收不到一个服务的心跳,会删除这个服务

4.自我保护模式

特殊情况
如果由于我网络不稳定或中断,15分钟内,85%以上服务出现心跳异常,就会自动进入保护模式.
在保护模式下,所有服务都**不删除**
网络恢复后,可以自动退出保护模式,恢复正常

开发期间很容易达到保护模式的条件,会影响测试,在开发期间可以关闭保护模式

搭建eureka服务器
1.新建sprinbgboot项目
2.添加eureka server 依赖
3.yml配置

主机名 禁用保护模式 针对单台服务器,配置不向自己注册,也不从自己拉取注册表

4.启动类注解@EnableEurenaServer.通过注解触发自动配置