附上学习资料
spring cloud stream
是一个为微服务应用构建消息驱动能力的框架
核心注解:
核心概念:
Binder
channel
消费组
基础配置:
Spring.cloud.stream
绑定通道配置:
基础,生产者,消费者配置
feign
OpenFeign 是一个声明式 RESTful 网络请求客户端
动态代理
编码/解码 拦截器 请求/响应压缩 负载均衡
Eureka
服务治理框架
eureka.client.serviceUrl.defaultZone = http://regcenter:8761/eureka/
eureka.client.healthcheck.enabled = true
eureka.instance.prefer-ip-address = true
eureka.client.fetch-registry = true
eureka.client.registry-fetch-interval-seconds = 30
eureka.client.eureka-service-url-poll-interval-seconds = 300
eureka.instance.lease-renewal-interval-in-seconds = 10
eureka.instance.lease-expiration-duration-in-seconds = 60
eureka.instance.health-check-url-path = /actuator/health
eureka 客户端 discoveryClient
构造器 服务注册、心跳(30)、注册表缓存刷新(全量拉取,增量拉取,30S)、按需注册定时任务 //下线
eureka服务端 instanceRegistry
服务注册 、接受服务心跳 、服务剔除(自我保护限制(一分钟 15%),分批,均匀,60S,90S)、服务下线、集群同步(启动时拉取,操作注册实例时同步)、获取注册表服务信息(全量、增量)
Ribbon
七种路由规则
默认路由规则
loadbalanced ribbonclient // loadbalancerInteceptor loadbalancerClient //loadbalancer =zoneAwareLoadBalancer //rule=zoneAvoidancerule zoneAvoidancepredicate 区域不可用 availabilitypredicate 断路器打开 请求数过多 过滤后再轮询
Hystrix
微服务 容错保护框架
作用
运行流程
断路器
服务隔离(舱壁模式)
线程池和信号量的区别
当请求的服务网络开销比较大的时候,或者请求比较耗时的时候,最好使用线程隔 离策略。
当我们请求缓存服务或者不涉及远程 RPC 调用 (没有网络开销〉服务的时候 应优先使用信号量隔离策略
设置
zuul
网关
提供代理、过滤、路由等功能
请求的四个生命周期: HTTP 请求在 ZuulServlet 中的生命周期。
三种路由规则
简单路由
跳转路由
Ribbon 路由
@EnableZuulProxy
忽略header
敏感header