微服务原理与治理实践 | 青训营笔记

180 阅读2分钟

微服务原理与治理实践 | 青训营笔记

这是我参与「第三届青训营 -后端场」笔记创作活动的的第 1篇笔记 ~

  • 为什么需要架构的演进

    • 互联网爆发性的增长
    • 硬件设施的快速发展
    • 需求复杂性的多样化
    • 开发人员的急剧增加
    • 计算机理论及技术的发展
  • 架构演进的历史

    • 单体架构 --> 垂直应用架构 --> 分布式架构 --> SOA架构 --> 微服务架构
  • 各种架构的优缺点

    • 单体架构

      • 性能高,冗余小,但是debug比较困难,耦合度高
    • 垂直应用架构

      • 业务独立开发和维护
      • 不同的业务存在冗余并且每个业务也都是单体
    • 分布式架构

      • 业务无关的服务独立开发
      • 调用关系复杂,不同服务冗余,服务模块debug可能导致全站瘫痪
    • SOA(面向服务的架构)

      • 服务之间相互独立
      • 需要从上至下设计,重构困难,整个系统设计是中心化的
    • 微服务架构

      • 开发效率高,业务独立设计,故障隔离
      • 治理运维难度较高
  • 微服务架构的核心要素

    • 服务治理

      • 服务注册,服务发现,负载均衡,扩缩容,流量治理,重试。。。
    • 可观测性

      • 日志采集,日志分析,监控打点,异常报警,链路追踪。。。
    • 安全性

      • 身份验证,认证授权,访问令牌,审计,传输加密。。。
  • 重试

    • 意义:降低错误率,降低长尾延迟,容忍暂时性错误,避开下游故障实例
    • 重试的难点:幂等性,重试风暴,超时机制
    • 要防止链式重试,比如A调用B调用C,如果BC发生了重试,那么必然又会发生A调用B的重试,可以返回特殊的状态要A别重试。