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

    image.png

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

    image.png

    • 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
    • 集群
      • 主从、对等; 因为过半机制,所以建议三个