spring cloud
是什么
1、微服务的整体解决方案
2、集成了多种工具,来解决微服务中的各种问题
3、微服务全家桶
不是什么
不是单一的解决的框架
spring cloud技术组成
·eureka
微服务治理,服务注册和发现
·ribbon
负载均衡,请求重试
·hystrix
断路器,服务降级,熔断
·feign
Ribbon + hystrix 集成,并提供声明式客户端
·hystrix dashboard和turbine
Hystrix 数据监控
·zuul
API网关,提供微服务的统一入口,并提供统一的权限验证
·config
配置中心
·bus
消息总线,配置刷新
·sleuth+zipkin
链路跟踪
spring cloud和dubbo对比
dubbo:远程调用、负载均衡
spring cloud:微服务全家桶,开源免费,开箱即用
注册中心基本架构:
注册中心:
地址列表
服务id
service :ip+端口
优点:服务可以任意变化
Eureka注册中心:
工作机制:
1、 服务提供者注册
一次一次的尝试注册,直到注册成功为止
2、 心跳
30s发送一次心跳,如果eureka三次收不到心跳,就会从注册表删除。
3、 消费者拉取注册表
每30s拉取一次注册表,刷新注册表
4、 自我保护模式
是一种特殊情况,如果15分钟内 85% 以上的服务器出现心跳异常(可能是网络不稳定),eureka会进入自我自我保护模式,所有注册不删除,待网络回复正常,可以自定推出自我保护模式,在开发期间,为了影响测试,先把保护模式关闭。