架构初探2 | 青训营笔记

38 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

三、挑战

  • 基础设施层面

    • 物理资源是有限的: 机器、带宽
    • 资源利用率受制于部署服务
  • 用户层面

    • 网络通信开销较大
    • 网络抖动导致运维成本提高
    • 异构环境下,不同实例资源水位不均(这个是什么意思,没有听懂)
  • 因此,我们的核心收益就可以来自于:

    • 降低物理资源成本 和 提供更多的弹性资源,增加收入

      • 解决办法就是: 离在线资源并池。

        也就是说,一个池子里面有两种资源:在线资源和离线资源。这两种资源并存,可以降低物理资源成本

      • 在线业务的特点:

        • IO密集型为主
        • 潮汐性、实时性
      • 离线业务的特点:

        • 计算密集型占多数
        • 非实时性
    • 降低业务成本

      • 解决办法就是: 自动扩缩容。可以利用在线业务潮沟性自动扩缩容。

        也就是两种资源的比例按照不同的时间点而变化。比如说凌晨大家睡觉的时候离线资源比例较高,而清晨大家工作的时候在线资源较高。

    • 提高服务可用性

      • 解决办法就是:微服务亲合性部署
        • 将满足亲合性条件的容器调度到一台宿主机
        • 微服务中间件与服务网格通过共享内存通信
        • 服务网格控制面实施灵活、动态的流量调度
    • 提高微服务调用容错性

      也就是说要容灾,进一步提高开发效率,要将DevOps发挥到极致

      • 解决办法就是:基于微服务中间件 & 服务网格的流量治理
        • 熔断、重试
        • 单元化
        • 复杂环境(功能、预览)的流量调度
    • 打平异构环境算力差异,为自动扩缩容提供正向输入

      • 解决办法就是:CPU水位负载均衡
        • IaaS: 提供资源探针
        • 服务网格:动态负载均衡