SpringCloud 的五大组件
注册中心eureka
-
服务注册:管理注册服务的ip和端口等通信地址
-
服务发现:消费者从注册中心拉取服务列表缓存到本地 不定期的去获取最新的
-
服务续约:向eureka报告服务健康状况 是否需要踢出列表 通过心跳机制
ribbon
-
1.负载均衡策略
轮询 随机 权重 地区。。。。
-
2.修改默认轮询策略 在配置类中加上一个IRule的Bean
-
3.优化 连接超时配置 重置配置 (幂等性)
feign(ribbon):选择服务,没有使用前需要对服务地址进行拼接,使用后用接口+注解替代了服务器地址拼接。
hystrix(豪猪,自我保护,保护服务)
-
1.资源隔离
线程池隔离(使用的不是同一个线程) 信号量隔离(使用同一个线程)
-
2.熔断
当错误到达一定阈值 熔断 每个一段时间 进入半熔断状态 允许少量请求进入 如果成功 闭合 如果失败 继续熔断
-
3.降级
针对一些不是特别重要的业务 不影响整个流程的业务 可以在隔离和熔断后 进行一些托底数据的返回
zuul
-
过滤器
pre前置过滤器 rooting 路由过滤器 post 后置过滤器 error 错误时过滤器
-
简单的鉴权实现
一个类集成Zuulfilter 重写4个方法 指定过滤器类型 指定顺序 是否开启 书写业务代码
配置中心
将服务的配置上传网上库中,配置git 从网上库中拉取配置。