Spring Cloud 系列
服务注册
提供服务的注册与查询功能
Eureka
保证cap中的ap,即可用性。
服务注册相对要快,因为不需要等注册信息replicate到其他节点,也不保证注册信息是否replicate成功
当数据出现不一致时,虽然A, B上的注册信息不完全相同,但每个Eureka节点依然能够正常对外提供服务,这会出现查询服务信息时如果请求A查不到,但请求B就能查到。如此保证了可用性但牺牲了一致性
Consule
保证cap中的cp,即强一致性。
服务注册相比Eureka会稍慢一些。因为Consul的raft协议要求必须过半数的节点都写入成功才认为注册成功
Leader挂掉时,重新选举期间整个consul不可用。保证了强一致性但牺牲了可用性。
网关 - Api Gateway
介绍
网关:路由分发和过滤
- 作为代理,如nginx一般转发请求到后端服务
- 配置服务注册中心,根据服务名自动转发
- 统一请求入口,进行公共处理,如:
- 身份认证
- 日志记录
- 配合限流库:hystrix,熔断限流降级依赖隔离等
- 配合负载均衡库:ribbon,流量负载均衡
zuul
路由转发
与服务注册中心配置时不需要配置
zuul:
routes:
bms-biz:
path: /api/bms/biz/**
sensitiveHeaders: Content-Length
url: http://bms-biz.dsg.cfpamf.com
过滤
preFilter # 转发前拦截处理
routeFilter # 实际路由
postFilter # 转发后拦截处理
spring cloud gateway
同上
网络相关
feign
http调用客户端,通过注解调用接口
本质是 ribbon + hystrix
ribbon
负载均衡,重试
ribbon:
ReadTimeout: 50000
ConnectTimeout: 50000
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 1
Hystrix
[hIst'rIks](嗨斯捶克斯)
客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离
断路器
@HystrixCommand(fallbackMethod = "processHystrix_Get")
达到一定条件时,不再执行原方法,而改为执行 fallback 方法
配置中心
spring cloud config
提供配置信息
发布于 2020/06/15
浏览
次