- 微服务和SOA
- 微服务也是SOA的一种
- 微服务拆分粒度更小
- eureka
- pull模式
- AP
- 服务端客户端模式;定期心跳30秒;90秒没续约就剔除
- 集群:非中心化;对等节点
- 高可用体现: 就算服务挂了也允许访问
- 自保护模式: 服务不一定有用
- nacos
- 支持AP或者CP切换
- ribbon
- 客户端负载均衡
- 随机、轮询、权重、区域隔离(默认,本质也是轮询,为了适应全球化产品)
- hystrix
- 扇入(上游多)和扇出(下游多)
- 仓壁模式
- 线程池隔离模式,每个标记的线程池都是隔离的
- 工作流程

- springboot的健康检查
- 很多组件都是通过@import自动装配
- 雪崩
- 熔断
- 服务降级
- 限流
- Feign
- 相当于ribbon+restTemplate+hystrix
- 默认引入ribbon和hystrix
- 调用ribbon
- gateway
- 进行路由
- 过滤器filter::鉴权、流量控制、熔断、路径重写、⽇志监控等、黑白名单。
- webflux技术(不要引入spring-web)
- 路由、断言(判断条件)、过滤器filter(pre和post)
- 动态路由

- config
- 放在bootstrap.yml里面
- @Refresh自动更新
- 通过bus进行广播通知
- stream
- 消息驱动组件,用来替换消息中间件
注意配置euraka、ribbon、hystrix的缓存和超时时长
Oauth2
- Token和JWT
- header、数据、签名
- JWT能解密,所以不能放敏感信息
- Seata 分布式事务
- Nacos
- Eureka+Config+Bus
- 类似于maven的gav领域模型:namespace+group+service
- Sentinel
- 得看一下,各方面都很好用,比Hystrix好用多了
- 和MQ比较:MQ是按照需求;sentinel是匀速强制
- 优雅停机
- nacos、dubbo 权限为0
- 集群
- 主从、对等; 因为过半机制,所以建议三个
