声明式自愈系统——高可用分布式系统的设计之道-王昕台基础管理系统和云原生自动运维系统的构建。在国内外有10多项授权和在审软件技术 发明专利,并多次受邀出席技术会议,做技术专题分享。 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 Ø 高可用系统的最佳实践总结 无状态分布式系统的高可用问题 处理消息的服务节点可以随机选择 不必处理数据复制和同步的问题 系统容量和高可用能力可以同步提升 服务节点可以随意迁移,不必固定 IP 和存储 有状态分布式系统的高可用问题 一致性 可用性 分区容错性 Paxos Raft 2PC Gossip Ø 处理请求需要特定节点 Ø 必须要考虑数据备份和同步 的问题 Ø 容量扩展和高可用需要不同 解决方案 Ø 服务节点不能随便迁移 CAP Is Not Simply 2 out of 3 Ø 没有分区时,可用性和一致 性要兼得 Ø good will eventually happen •e.g. is able to receive message 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 Ø 高可用系统的最佳实践总结 依据声明式自愈的理念设计系统 有一个统一的状 态持久化接口, 所有有状态模块 通过统一的接口 对应统一的对象 模型0 码力 | 44 页 | 2.47 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊的监控与容灾预案 规模化阶段:容灾能力 快速起量,系统质量、研发效率问题凸显 规模化阶段:系统容量 静态评估 工具辅助评估 场景压测 全链路压测 垂直拆分 水平拆分 自动归档 冗余备份 容量评估由人到系统 容量提升分阶段实施 快速起量,系统质量、研发效率问题凸显 规模化阶段:并行计算能力 计算能力是智能调度的关键! • 外卖场景下的配送计算能力要求 快速起量,系统质量、研发效率问题凸显 打磨各类位置与导航策略场景 导航 算法特征 效果验证 产品技术创新驱动业务发展 精细化阶段:仿真平台 目标:构建线下模拟沙盘 思路:基于线上真实数据对配送全流程构建模拟场景,并对事件、数据模拟 仿真报告可视化 产品技术创新驱动业务发展 精细化阶段:特征平台 版本管理:缩短实验周期,灵活配置实验规则 实时特征:特征准实时加工、离线特征实时转化 离线特征:特征快速开发、验证、上线能力 场景 产品技术创新驱动业务发展0 码力 | 31 页 | 15.26 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 分级预案,对降级点进⾏行行预案编 排,并跟踪监控降级链路路的执⾏行行 • 发现潜在故障,多维度验证预案 有效性,评估系统可靠性,提供 降级策略略、参数调整的优化依据 整体架构 Agent 服务降级注册 降级熔断通知 元数据存储 控制 中⼼心 ETCD ETCD ETCD 对预案进⾏行行有效性、合理理性验证 • 通过破坏性测试,发现系统的潜在故障,及时修正,并做好降级预防措施 • 参数修正,及时调整流控、降级策略略,优化告警、超时参数设置 • 模拟线上故障,进⾏行行故障复现,验证故障后续的处理理措施是否⾏行行之有效 • 以战养兵,历练团队,让⼯工程师有更更多机会积累经验,提升应对故障的能⼒力力 常态化的故障演练对系统进⾏行行反复验证 系统设计 Agent 通过对服务统⼀一管理理,从全局刻画系统链路路熔断降级点,结合策略略和预案,通过持续不不断的治 理理保障系统的可⽤用性 • 通过反复的故障演练,发现系统中的薄弱点,并进⾏行行有效的预防 • 配合降级预案,让系统的可靠性更更易易验证,让演练更更加常态化 • 历练团队、积累经验,促进⼯工程师的进步,提⾼高应对故障的能⼒力力 ⾃自我介绍0 码力 | 26 页 | 18.67 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道提供者A 服务容器 服务注册中心 服务列表 …… 无需注册中心 不需要服务消费者注册,直接通过本地配置文件指定的IP地址来绕过“服务路由”及“负载均衡”机制。 服务提供者不能采用token验证模式 基于包名过滤服务 团队往往开发某类业务服务,这类服务一般都具有相同的包名,因此,可以通过配置包名和服务IP的映射关系, 让服务框架自动将一批服务和特定的IP关联到一起。 直连调测机制 通过将契约测试集成到CI流程中,在构建的过程中完成接口的联调测试,和 接口变动的验证测试,从而实现对接口变动的及时感知。 Consumer 报告 Provider Consumer 报告 Provider request response 导出 回放 Step1:定义服务调用方的期望 Step2:在服务提供方进行验证 接口 验证程序 Mock文件 配置文件: 服务地址 校验接口清单0 码力 | 19 页 | 2.74 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造事件⻛风暴暴⼯工作坊 - Event Storming是⼀一种领域建模的实践,是⼀一种快速 探索复杂业务领域的⽅方法: - 最初由Alberto Brandolini 开发,经过DDD社区和 TW的很多团队实践验证后,于2015年年11⽉月进⼊入 ThoughtWorks技术雷雷达 ‣Powerful:可以让实践者在数⼩小时内理理解复杂的业务 模型 ‣Engaging:把带着问题的⼈人和拥有答案的⼈人共聚⼀一 如果⼀一个事件有同步发⽣生的其它事件,把其它 事件放在事件下⽅方; 5. 如果发现了了业务中的问题点,⽤用红⾊色便便利利贴记 录为什什么是⼀一个问题; 6.以上步骤完成以后,再从最后⼀一个事件开始来 反向验证事件的完整性(即:⾛走查前后事件的关 联关系,防⽌止有些事件被遗漏漏)。 通过事件的⽅方式对过去发⽣生的事情进⾏行行溯源, 因为过去所发⽣生的对业务有意义的信息都会 通过某种形式保存下来。事件⻛风暴暴能够让领 已可视化 遗留留系统拆解给⻜飞⾏行行中的⻜飞机换引擎 友谊第⼀一 ⽐比赛第⼆二 降⻰龙⼋八步第⼀一式 ⽤用户 订单 商品 第⼀一式: 1. 明确要拆解的服务所涉及 的模块 2. 验证之前代码依赖分析和 数据库分析的结果 3. 约定“同⼀一类型数据只有⼀一 处修改”,以数据为中⼼心提 ⾼高内聚性,同时避免写冲 突的出现 遗留留系统 降⻰龙⼋八步第⼆二式 ⽤用户 订单0 码力 | 54 页 | 3.85 MB | 1 年前3
海量用户推送后台系统架构实践-曾振波极光推送后台系统架构 09 结束语 • 高性能/低成本、高可用、高运维 • 只用验证过的开源组件 • 自研替代开源 • 能并行就不要串行 • 能异步就不要同步 • 保持简单,快速迭代 • 不要过早优化,架构是演进出来的 极光推送后台系统架构 结束语 • 高性能/低成本、高可用、高运维 • 只用验证过的开源组件 • 自研替代开源 • 能并行就不要串行 • 能异步就不要同步0 码力 | 23 页 | 1.26 MB | 1 年前3
分布式异地多活架构实践之路CRSync MQ Processor CRSync Web Service Web GSLB 用户分片&就近接入 用户分片&就近接入 DisFS 用户路由 用户路由 会话验证 会话验证 专线/公网 漫游 汇聚模式 从机房 主机房 Service Flume CRSync CRSync Service GSLB 就近接入 就近接入 Flume Flume0 码力 | 36 页 | 1.66 MB | 1 年前3
领域驱动设计&中台/架构分层模型适配DDD分层架构治理理 HTTP⽅方法: POST GET PUT DELETE 前端应⽤用 API服务 业务领域 基础设施 业务操作: 注册 注销 登录 退出 修改 撤销 查看 查询 验证码 激活 存储动作: INSERT UPDATE DELETE 动词翻译映射 create retrieve update delete save find DDD分层架构治理理 前端应⽤用 架构治理理中的踢正步 ⽤用户账户注册和激活 案例例-⽤用户注册和激活 填写注册信息 HTTP POST 注册信息 处理理注册信息 保存注册信息 发送注册激活码 填写激活码 HTTP POST 激活码 验证激活码 保存激活信息 案例例-⽤用户注册 -1 前端应⽤用 API服务 业务领域 基础设施 POST /users0 码力 | 39 页 | 2.54 MB | 1 年前3
演进式架构:数字化世界"进化论" 肖然http://www.thinklikeahorse.org/ 刻意引导 Guided Performance Security Recoverability … … 度量标准 验证测试 Unit tests Functional tests Performance tests … … Architects Dev Team 适应度方程 Fitness0 码力 | 22 页 | 2.14 MB | 1 年前3
海尔实时计算平台技术选型与实践Kafka Queue Kafka Spout Storm Topology Monitor Server Message Notification 实时计算质量保证 实时计算结果正确性如何验证? 方案一:结果导向 Source Flume HDFS Kafka Storm Mr / Impala Result Result 备 份 比 对 方案二:经验值 w1 w20 码力 | 41 页 | 3.21 MB | 1 年前3
共 11 条
- 1
- 2













