声明式自愈系统——高可用分布式系统的设计之道-王昕
处理请求需要特定节点 Ø 必须要考虑数据备份和同步 的问题 Ø 容量扩展和高可用需要不同 解决方案 Ø 服务节点不能随便迁移 CAP Is Not Simply 2 out of 3 Ø 没有分区时,可用性和一致 性要兼得 Ø 经常要考虑的是可用性和一 致性各有一部分 Ø 根据不同设计应用需求有不 同的组合 Ø 重要的是系统如何恢复到 “最佳状态” 分区容错性 可 用 控制器的设计理念 控制逻辑应该只依赖于当前状态 假设任何错误的可能,并做容错处理 尽量避免复杂状态机,逻辑不要依赖无法监控的内部状 态 每个模块都可以在必要时优雅地降级服务 每个模块都可以在出错后自动恢复 假设任何命令都可能被任何调用对象拒绝,甚至返回错 误结果 声明式自愈系统的现有框架——Kubernetes 声明式自愈系统设计理念的回顾 统一接口 和对象模 型 自愈 能力 幂等操 作和状0 码力 | 44 页 | 2.47 MB | 1 年前3降级预案在同程艺龙的工程实践-王俊翔
降级服务如何⾃自动探测恢复 ⽅方法代理理 降级 正常流程 保护期窗⼝口 (10min) 窗⼝口期 探测期窗⼝口 (5min) 探测流量量分配 窗⼝口期外 窗⼝口期外 降级⽅方法 熔断 降级流程 恢复探测 探测 开启 开启 未降级 已降级 关闭 窗⼝口期 指标计算 降级触发/恢复 • 降级保护期窗⼝口内,不不进⾏行行恢复试探 • 流量量分配的⽅方式实施恢复探测,百分⽐比、总量量 流量量分配的⽅方式实施恢复探测,百分⽐比、总量量 • 实时计算探测流量量指标,指标恢复关闭降级 ⽅方法调⽤用 百分⽐比策略略 总量量策略略 ⾃自定义策略略 降级预案 运营:明天要做活动, 希望降级不不重要的服务 运营 开发 开发:不不清楚这样的业务 场景有哪些次要服务需要 降级 • 预案分级 从全局建⽴立服务重要程度评估模型 • 蓝⾊色预警 - ⼩小规模⾮非核⼼心服务降级 • ⻩黄⾊色预警 - ⼤大规模⾮非核⼼心服务降级0 码力 | 26 页 | 18.67 MB | 1 年前3QCon北京2018-《美团配送系统架构演进实践》-阴永俊
的监控与容灾预案 规模化阶段:容灾能力 快速起量,系统质量、研发效率问题凸显 规模化阶段:系统容量 静态评估 工具辅助评估 场景压测 全链路压测 垂直拆分 水平拆分 自动归档 冗余备份 容量评估由人到系统 容量提升分阶段实施 快速起量,系统质量、研发效率问题凸显 规模化阶段:并行计算能力 计算能力是智能调度的关键! • 外卖场景下的配送计算能力要求 快速起量,系统质量、研发效率问题凸显0 码力 | 31 页 | 15.26 MB | 1 年前3高可用分布式流数据存储设计-李玥
Complexity 复杂度 Apache ZooKeeper “程序员都喜欢ZooKeeper,但用户正相反” 可维护性问题 多机房部署时可⽤用性问题 数据容量量有限,集群规模有限 选举恢复速度慢,不不可⽤用时间较⻓长 John Ousterhout Diego Ongaro “In search of an understandable consensus algorithm”0 码力 | 36 页 | 6.02 MB | 1 年前3从百度文件系统看大型分布式系统设计中的定式与创新
不能依赖ZooKeeper等系统选主 - 分布式的双主问题只从存储系统解决 这些设计给BFS带来哪些优势? HDFS BFS 名字节点 扩展方式 联邦式 分裂的目录树 分布式 统一的目录树 宕机恢复时间 分钟级 秒级 外部依赖 ZooKeeper & QJM 无 开发语言 Java C++ Q&A • 欢迎参与BFS的开发 • https://github.com/baidu/bfs0 码力 | 24 页 | 937.45 KB | 1 年前3分布式异地多活架构实践之路
北京 50% 合肥 50% 广州 50% 1 1 2 冗余机器与其他系统复用,弹性伸缩 配套系统支撑 测试场景覆盖 灰度发布上线 机房流量调度 监控覆盖 故障模拟演练 数据恢复 配置平台 服务化平台 日常运维 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法解决方案 • 实际应用效果 • 未来规划 可用性 机房内故障 机房入口网0 码力 | 36 页 | 1.66 MB | 1 年前3唯品会调度系统的前世今生
Set PathA=1 Set PathA=0 Event notify or not? Set PathA=0 解决办法: 监听逻辑不做值判断,只做事件判断;保证处理逻辑幂等。 坑2-ZK掉线恢复后状态改变 Executor-A Executor-B ZK断线 接管分片1 分片1的zk数据被修改 执行分片1 ZK重连成功 断线前未完成的ZK 操作继续执行 解决办法: 断线0 码力 | 58 页 | 5.40 MB | 1 年前3付钱拉金融云系统架构演进和最佳实践
统计类(订单量异常预警、非法IP预警、交易额过大) 网络异常(单通道和多通道、不同的分布场景) 撒网与实时监控 REAL-TIME MONITORING 可视化运营 VISUAL OPERATION 优先恢复 蓝绿部署 提前准备 服务降级 kill 慢SQL、摘节点、线 程栈和内存堆现场保留 反 向 代 理 反 向 代 理 APP1 APP2 APP3 APP1 APP2 APP3 APP10 码力 | 35 页 | 6.05 MB | 1 年前3
共 8 条
- 1