声明式自愈系统——高可用分布式系统的设计之道-王昕State跟 Realized State之间的差 距,维持最终一致性 Ø 定期处理集群中的事件 Ø 系统必须是幂等的 控制器的设计理念 控制逻辑应该只依赖于当前状态 假设任何错误的可能,并做容错处理 尽量避免复杂状态机,逻辑不要依赖无法监控的内部状 态 每个模块都可以在必要时优雅地降级服务 每个模块都可以在出错后自动恢复 假设任何命令都可能被任何调用对象拒绝,甚至返回错 误结果 声明 进程被杀 服务器假死 断电 启动异常 超卖 进程死锁 负载均衡失效 业务线程池满 监控错误 流控不合理 心跳异常 缓存热点 缓存限流 数据库热点 数据库宕机 数据库延迟 CPU 抢占 内存抢占 内存错乱 上下文切换 磁盘满 磁盘坏 网络抖动 网卡慢 断网 DNS 故障 系统单点 异步阻塞 依赖超时 内存溢出 不可读写 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 API Ø API 操作复杂度与对象数量成正比 Ø API 对象状态不依赖于连接状态 Ø 针对全局状态设计自愈容错机制 最佳实践分享 有关系统设计和运营 Ø 分开设计理想状态和实际状态 Desired State Realized State Ø 利用队列解耦系统 Ø 尽量不要依赖 DNS 做高可用 Ø 监控负载不均的情况 Ø 避免Self DoS 最佳实践分享 有关微服务架构的典型模式0 码力 | 44 页 | 2.47 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践163yun.com 设计要点十一:全链路监控 www.163yun.com 设计要点十二:全链路压测 www.163yun.com 微服务平台总览 容器平台 (多集群基础设施) Pod & Deployment 网络 Calico, OVS 存储 Ceph 滚动更新 弹性伸缩 日志中心 基础设施监控 开 发 集 群 测 试 集 群 生 维护 开关 API 监控 认证 鉴权 治理 文档 报表 微服务框架 (服务治理) 服务 目录 注册 发现 限流 熔断 降级 容错 路由 负载 均衡 参数 分流 拓扑 依赖 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 APM (应用运行期监控) 运行时 拓扑 性能 监控 服务 筛选 调用 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 译 镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock0 码力 | 39 页 | 3.06 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔如何设计⾯面向容错的系统,如何提升系统的可⽤用性 强弱依赖 • 弱依赖 - 熔断限流,有损服务 • 强依赖 - 备选服务,降级实现 什什么是强弱依赖,如何确定强弱依赖 • ⽤用户是否强烈烈感知 • 核⼼心业务是否有损 service ⽤用户请求 serviceB serviceA serviceC serviceC- degrade 弱依赖 强依赖 强依赖 备选服务 熔断、限流 降级 ⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 分级预案,对降级点进⾏行行预案编 排,并跟踪监控降级链路路的执⾏行行 • 发现潜在故障,多维度验证预案 有效性,评估系统可靠性,提供 降级策略略、参数调整的优化依据 整体架构 Agent 服务降级注册 降级熔断通知 元数据存储 控制 Application Application Application SDK 熔断 降级 流控 隔离 实时策略略推送 数据采集 应⽤用管理理 策略略管理理 流控管理理 预案管理理 指标管理理 监控告警 数据⼤大盘 脚本开发 ETCD管理理 故障演练 业务保障管理理后台 应⽤用JVM进程 故障动态注⼊入 Attach 故障注⼊入 指标聚合查询 熔断降级计算(Flink) ⽇日志中⼼心0 码力 | 26 页 | 18.67 MB | 1 年前3
分布式异地多活架构实践之路讯飞输入法解决方案 • 实际应用效果 • 后续规划 技术挑战 几十毫秒的延迟; 跨机房性能较慢 机房天然延迟 专线费用高; 专线不稳定 跨机房专线问题 依赖小服务,有一 定改造成本; 依赖外部服务 服务依赖问题 减少对业务开发影响; 需要封装屏蔽细节 业务开发影响 如何精准调度; 如何合理调度 流量调度 存储系统自带同步 不成熟; 自研组件之间同步 数据同步 单点写,多点读) 非核心业务 老版本兼容服务、运营活动、配置、管 理平台、官网、论坛等 N/A 本地模式 (单点读写) 设计思路 核心业务异地多活 精准流量调度 数据同步 多元化 最终一致性 依赖关系优化 配套系统支撑 主 从 多 主 汇 聚 混 合 场景区分 封装屏蔽细节 容量合理规划 当前总体架构 合肥 北京 广州 HTTPDNS 智能DNS GSLB GSLB Servers 域的调度 结果:无法就近返回最优的机房IP、机房之间负载不均衡、机房异常后无法快速容灾 精准流量调度-全局 HTTPDNS LocalDNS 智能DNS 合肥IDC 北京IDC 广州IDC 弱依赖,可控 SDK封装: 重点域名预解析 缓存域名解析结果(sp、 wifi名) 出错或快过期异步解析 合法IP动态下发 IP请求结果统计 多级兜底容错 解析IP合法,IP请求 解析IP不合法,固定IP请求0 码力 | 36 页 | 1.66 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 三、政务服务小程序平台研发过程 四、政务服务小程序平台架构演化 五、政务服务系统架构小结与思考 5、技术路线选型,APP 还是 小程序? 对比项 微信小程序 政务APP 统一身份认证 无需注册直接登录,提供活体检测、人脸核身 需要注册,使用密码和手机盾认证 推广传播 下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 无大小限制,调转较难 智能化服务能力 微信自带组件,对接更容易 需根据场景单独对接,如人脸识别、支付等 产品自主性 需依托微信平台 完全自主可控 数据安全性 微信前端数据通过HTTPS传输 全业务流程数据传输监控 使用路径 微信端二级应用 一级入口 从技术的角度来比对,小程序和APP各具优势:小程序具备轻量级、跨平台、成本低、功能强和易传播的特征; 而APP则在产品自主可控、数据全程管控、使用路径更短、功能灵活多样方面更具优势。 服务对接方式:提供API接口,而非H5页面 2.认证方式:基于后台API方式,而非要求用户再次输入 3.服务类型:属于查询、办理类,而非资讯信息、办事指南 4.服务具有便民、高频特征 帅选出第1版本要接入的百项高频便民事项 典型需求梳理场景 - 残疾人服务事项分析 7、产品设计—淬取政务服务信息要素、以用户为中心的展示 •从功能导航为中心,转变以个人为中心 •不再按横向具体部门和纵向省、市、县层级设计,用户感受到的是一个不分部0 码力 | 35 页 | 15.60 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊阴永俊 美团配送系统架构演进实践 阴永俊 美团点评资深技术专家、美团配送业务系统团队负责人 2010年大连理工大学毕业,曾先后任职于Hikvision、人人网,从事过视频 监控、广告、IM、DevOps、中间件、数据仓库等技术方向 2015年加入美团·大众点评,负责配送业务系统建设,重点负责系统质量 保证、运营体系建设、核心系统架构升级等方向,支持美团配送业务发展 美团配送业务介绍 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 补发 监控 补发 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 运营系统 应急管理平台 四层监控体系、业务大盘、APP大盘 Cat监控平台、MTrace、端到端日志分析 压测平台、自动巡检 系统容量规划、系统吞吐量提升 初期偏重流程建设(保证结果) 后期偏重系统建设(提升人效) 快速起量,系统质量、研发效率问题凸显 v1.0 基于open-falcon的基础监控 • 单接口、核心依赖降级 • 业务大盘、Trace • 容灾预案集成到系统 核心依赖 端到端 服务SLA分级0 码力 | 31 页 | 15.26 MB | 1 年前3
《58到家技术架构快速规划与落地》 - 沈剑高级工程师 � 技术委员会主席、高级架构师、技术学院优秀讲师 � 技术委员会主席、技术总监 � 本质:程序员 58集团技术专场 目录-技术架构体系建设 问题 实践 总结 1. 服务化 2. 监控平台 3. 调用链跟踪 4. 服务治理 58集团技术专场 一、初创公司技术架构体系建设 常见问题 58集团技术专场 初创公司技术体系常见问题 体系割裂 系统耦合 DB耦合 出问题不知道 消息总线(D-MQ) � 统一监控(D-Monitor) � 调用链跟踪(D-Tracker) � 服务治理(D-Watcher) 58集团技术专场 2. 监控平台 案例 问题 � 群内反馈 � 客服投诉 � 用户先感知 � 平台成本高 58集团技术专场 系统是否正常,我们知道么? 58集团技术专场 误区:监控是运维的事情 58集团技术专场 2. 监控平台- 最佳实践 � 单维度正常,能说明系统正常吗? 单维度正常,能说明系统正常吗? � 什么是立体化监控? � 怎么个多维度法? (1)机器、操作系统 (2)进程、端口 (3)日志 (4)接口 58集团技术专场 机器、操作系统监控 58集团技术专场 2. 监控平台-进程/端口/JVM • 两类思路:分发/汇总 • 分发类实现Tips (1)易扩展的配置 (2)远端接口探测,命令执行 (3)可以无需agent • 汇总类实现Tips0 码力 | 42 页 | 1.52 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造引⾔言 遗留留系统、微服务架构 任何⼈人类的设计都会腐化 软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 •基础设施⾃自动化 •容错设计 •演进式设计 可视化能帮我们什什么 掌握系统业务 明确系统边界 ⼩小步改造系统 ⽀支付订 单 订单 划分限界上下⽂文 事件⻛风暴暴 命令⻛风暴暴 寻找聚合 划分限界上下⽂文 什什么是限界上下⽂文? 如何探索限界上下⽂文? 业务的扩展会产⽣生越来越多的领域模 型,任何⼤大型项⽬目都会存在很多的领 域模型。当不不同领域模型对应的软件 代码被放在⼀一起后,软件就变得庞⼤大 且复杂,代码难于理理解、且容易易出现 bug,所以需要通过限界上下⽂文来明 确定义领域模型的范围和职责。 商户履履⾏行行订单 订单 商品 1. 订单 2. 商品 3. *** 明确服务的范围 明确核⼼心模型 明确服务包含的数据表 可视化的拆解遗留留系统 微服务架构、绞杀模式、代码依赖分析、数据库依赖分析、 遗留留系统拆解评分表、降⻰龙⼋八步 庖丁解⽜牛拆解的最⾼高境界 了了解⽜牛的⽣生理理构造 避开筋腱⻣骨节交错的组织 从⻣骨节的缝隙下⼿手 ⼗十九年年⼑刀依然锋利利 再看⼀一眼微服务架构0 码力 | 54 页 | 3.85 MB | 1 年前3
唯品会调度系统的前世今生https://github.com/vipshop/Saturn 婆媳关系 为何而生 传统调度系统的问题、产品的定 位与选型 需要解决的问题 1 6 4 3 2 … 异构/多语言难以支持 5 缺乏统一监控、统一管理 (进程假死、运行状态未知) 缺乏容错、容灾,高可 用 缺乏分布式处理 无法合理利用机器资源 难以问题追踪 选型对比 Crontab Quartz Linux系统级的定时任务执行器 功能单一,只支持Java,不支持 Shell(PHP)和消息驱动的作业调度 对任务超时、任务执行情况、监控逻辑 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 AuthCenter 服务网关 Janus 安全管理平台 Salus 有女初张成 唯品会弹性调度系统的架构与功0 码力 | 58 页 | 5.40 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践基础产品 基础支撑 金融云服务 聚合支付 乐享理财 帮你贷 八方数据 … 资金管理 供应链 分期支付 扫码分销 … 基础支付1 SDK支付 扫码支付 分期支付 比特币 银行卡 开户 监控 报表 … 基础支付2 单笔代收 单笔代付 语音支付 余额查询 批量代收 身份鉴权 批量代付 快捷 … 账务 开户 记账 对账 账户托管 … 现金罗盘 代付工资 对外付款 其他 贷款 理财 供应链 征信 … 数据分析 … 运营后台 用户系统 商户后台 官网 企业网银 个人网银 解决方案 实时监控 业务属性 BUSINESS ATTRIBUTES 实时性、一致性 安全性、中间账户 聚合的复杂性、第三方依赖性 金融系统 The complexity of aggregation, third-party dependency Financial 制定合适的开发规范 撒网 实时监控(傻瓜式、开发不用查日志) 可视化运营 网络监控 主机监控 服务监控 业务监控 中间件、接口探测、日志抓取 状态类(响应码、交易状态、退款状态、商户状态) 耗时类(交易总时长、分段时长、SQL耗时、代码耗时) 统计类(订单量异常预警、非法IP预警、交易额过大) 网络异常(单通道和多通道、不同的分布场景) 撒网与实时监控 REAL-TIME MONITORING0 码力 | 35 页 | 6.05 MB | 1 年前3
共 25 条
- 1
- 2
- 3













