架构初探(三)| 青训营笔记

51 阅读2分钟

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

一、本堂课重点内容

本堂课的知识要点有哪些?

规则引擎的设计与实现

  • 1.什么是架构
  • 2.企业级后端架构剖析
  • 3.企业级后端架构的挑战
  • 4.后端架构实战

二、详细知识点介绍

本堂课介绍了哪些知识点?

后端架构实战

问题提炼

CPU水位负载均衡,应该如何设计?
    - 需要哪些输入?
    - 设计时需要考虑哪些关键点?
输入:
- 服务网格数据面
    - 支持带权重的负载均衡策略
- 注册中心存储了所有容器的权重信息
- 宿主机能提供
    - 容器的资源使用情况
    - 物理资源信息(如 CPU型号)
关键点:
    - 紧急回滚能力
    - 大规模
    - 极端场景

自适应静态权重

方案:
    - 采集宿主机物理资源信息
    - 调整容器注册的权重
优势:
    - 复杂度低
    - 完全分布式,可用性高
    - 微服务中间件无适配成本
缺点:
    - 无紧急回滚能力
    - 缺乏运行时自适应能力

自适应静态权重 AIpha

方案:
    - 容器动态权重的自适应调整
    - 服务网格的服务发现 & 流量调度能力
演进方向:
    - 解决无法紧急回滚的问题
    - 运行时权重自适应
缺点:
    - 过度流量倾斜可能会有异常情况

自适应静态权重 Beta

方案:
    - 服务网格上报RPC指标
演进方向:
    - 极端场景的处理成为可能
缺点:
    - 时序数据库压力较大
    - 动态权重决策中心职责越来越多,迭代->变更->风险

自适应静态权重 Release

解决在线分析引擎的数据一致性问题:一致性哈希
解决时序数据库压力:将其作为旁路工具,采用纯内存的在线分析引擎进行实时策略技算
离线分析:使用消息队列解耦、削峰
离线回馈在线

演进方向:
    - 微服务化
    - 引入消息队列削峰、解耦
    - 离在线链路切分
    - 梳理强弱依赖

小结

1. 没有最好的架构,只有最适合的架构
2. 如何做架构设计
    - 需求先行
    - 业界调研
    - 技术选型
    - 异常情况

三、引用参考