这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
一、本堂课重点内容
本堂课的知识要点有哪些?
规则引擎的设计与实现
- 1.什么是架构
- 2.企业级后端架构剖析
- 3.企业级后端架构的挑战
- 4.后端架构实战
二、详细知识点介绍
本堂课介绍了哪些知识点?
后端架构实战
问题提炼
CPU水位负载均衡,应该如何设计?
- 需要哪些输入?
- 设计时需要考虑哪些关键点?
输入:
- 服务网格数据面
- 支持带权重的负载均衡策略
- 注册中心存储了所有容器的权重信息
- 宿主机能提供
- 容器的资源使用情况
- 物理资源信息(如 CPU型号)
关键点:
- 紧急回滚能力
- 大规模
- 极端场景
自适应静态权重
方案:
- 采集宿主机物理资源信息
- 调整容器注册的权重
优势:
- 复杂度低
- 完全分布式,可用性高
- 微服务中间件无适配成本
缺点:
- 无紧急回滚能力
- 缺乏运行时自适应能力
自适应静态权重 AIpha
方案:
- 容器动态权重的自适应调整
- 服务网格的服务发现 & 流量调度能力
演进方向:
- 解决无法紧急回滚的问题
- 运行时权重自适应
缺点:
- 过度流量倾斜可能会有异常情况
自适应静态权重 Beta
方案:
- 服务网格上报RPC指标
演进方向:
- 极端场景的处理成为可能
缺点:
- 时序数据库压力较大
- 动态权重决策中心职责越来越多,迭代->变更->风险
自适应静态权重 Release
解决在线分析引擎的数据一致性问题:一致性哈希
解决时序数据库压力:将其作为旁路工具,采用纯内存的在线分析引擎进行实时策略技算
离线分析:使用消息队列解耦、削峰
离线回馈在线
演进方向:
- 微服务化
- 引入消息队列削峰、解耦
- 离在线链路切分
- 梳理强弱依赖
小结
1. 没有最好的架构,只有最适合的架构
2. 如何做架构设计
- 需求先行
- 业界调研
- 技术选型
- 异常情况
三、引用参考
-
我参考了哪些外部博客/笔记/文章?