 异构系统链路追踪——滴滴 trace 实践异构系统链路追踪 ——滴滴trace实践 背景 诉求 挑战—在滴滴落地面临的挑战 方案 日志规范和组件 日志数据处理 日志应用 Trace机制 —传递trace context Trace落地—结合滴滴情况落地 Trace应用 —调用链路跟踪 Trace应用 —调用链路跟踪 Trace应用 —场景还原 ③ 时间顺序还原操作序列 ① 业务id和traceid关联 ② 根span具有业务代表性0 码力 | 19 页 | 3.00 MB | 1 年前3 异构系统链路追踪——滴滴 trace 实践异构系统链路追踪 ——滴滴trace实践 背景 诉求 挑战—在滴滴落地面临的挑战 方案 日志规范和组件 日志数据处理 日志应用 Trace机制 —传递trace context Trace落地—结合滴滴情况落地 Trace应用 —调用链路跟踪 Trace应用 —调用链路跟踪 Trace应用 —场景还原 ③ 时间顺序还原操作序列 ① 业务id和traceid关联 ② 根span具有业务代表性0 码力 | 19 页 | 3.00 MB | 1 年前3
 QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+措施:合冗余[消除链路.裁剪节点] 冗余链路消除40多条 减少系统间交互80多次 裁剪冗余系统节点4个,消除接口200多个 减少对接成本,目的就是快 "� "� before� after before� after C 接入层/GW 服务A 服务B 移动服务C 接入层/GW 服务A 2 1 移动服务C 接入层 服务A 1 2 措施:优化链路[合并.重组 before� after 收益: 优化组合流程8条,效率提升 单点得到弱化 丢弃僵尸接口36个(版本覆盖率) 挑战: 接口管理带来挑战 链路追踪趋于复杂 "� "� 丢弃 移动服务�C� 接入层/gw� 服务�A� 1� 服务�B� 2� 移动服务C 接入层 服务A 服务B 1 2 移动服务 接入层 v2 期望更轻量、无侵入性的业务监控 cat,elk,zipkin等 趋于个性 具有共性 中间件/缓存/数据库/代理/MQ... OS/网络/存储/防火墙... 应用/框架/业务逻辑/系统间调用 自研日志监控[轻量无侵入] Kafka Kafka Spout 策略 Cache 系统配置 预处理bolts Data Filter 规范化 校验 监控核心流水线bolts0 码力 | 42 页 | 19.96 MB | 1 年前3 QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+措施:合冗余[消除链路.裁剪节点] 冗余链路消除40多条 减少系统间交互80多次 裁剪冗余系统节点4个,消除接口200多个 减少对接成本,目的就是快 "� "� before� after before� after C 接入层/GW 服务A 服务B 移动服务C 接入层/GW 服务A 2 1 移动服务C 接入层 服务A 1 2 措施:优化链路[合并.重组 before� after 收益: 优化组合流程8条,效率提升 单点得到弱化 丢弃僵尸接口36个(版本覆盖率) 挑战: 接口管理带来挑战 链路追踪趋于复杂 "� "� 丢弃 移动服务�C� 接入层/gw� 服务�A� 1� 服务�B� 2� 移动服务C 接入层 服务A 服务B 1 2 移动服务 接入层 v2 期望更轻量、无侵入性的业务监控 cat,elk,zipkin等 趋于个性 具有共性 中间件/缓存/数据库/代理/MQ... OS/网络/存储/防火墙... 应用/框架/业务逻辑/系统间调用 自研日志监控[轻量无侵入] Kafka Kafka Spout 策略 Cache 系统配置 预处理bolts Data Filter 规范化 校验 监控核心流水线bolts0 码力 | 42 页 | 19.96 MB | 1 年前3
 唯品会调度系统的前世今生需要解决的问题 1 6 4 3 2 … 异构/多语言难以支持 5 缺乏统一监控、统一管理 (进程假死、运行状态未知) 缺乏容错、容灾,高可 用 缺乏分布式处理 无法合理利用机器资源 难以问题追踪 选型对比 Crontab Quartz Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 AuthCenter 服务网关 Janus 安全管理平台 Dashboard – Executor维度 Dashboard – Job维度 Dashboard – 告警维度 内部集成 – 认证与授权 内部集成 – 命名空间管理CMDB 内部集成 – 监控系统/调用链 内部集成 – 流程管理 内部集成 – 容器管理 婆媳关系 那些年我们踩过的坑 坑1-ZK事件丢失 Curator-client-A Client-B Add data change0 码力 | 58 页 | 5.40 MB | 1 年前3 唯品会调度系统的前世今生需要解决的问题 1 6 4 3 2 … 异构/多语言难以支持 5 缺乏统一监控、统一管理 (进程假死、运行状态未知) 缺乏容错、容灾,高可 用 缺乏分布式处理 无法合理利用机器资源 难以问题追踪 选型对比 Crontab Quartz Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 AuthCenter 服务网关 Janus 安全管理平台 Dashboard – Executor维度 Dashboard – Job维度 Dashboard – 告警维度 内部集成 – 认证与授权 内部集成 – 命名空间管理CMDB 内部集成 – 监控系统/调用链 内部集成 – 流程管理 内部集成 – 容器管理 婆媳关系 那些年我们踩过的坑 坑1-ZK事件丢失 Curator-client-A Client-B Add data change0 码力 | 58 页 | 5.40 MB | 1 年前3
 微服务和Service Mesh 在多个行业落地实践www.163yun.com 设计要点九:配置中心 www.163yun.com 设计要点十:日志中心 www.163yun.com 设计要点十一:全链路监控 www.163yun.com 设计要点十二:全链路压测 www.163yun.com 微服务平台总览 容器平台 (多集群基础设施) Pod & Deployment 网络 Calico, OVS 拓扑 依赖 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 APM (应用运行期监控) 运行时 拓扑 性能 监控 服务 筛选 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 测试镜像 仓库 历史 管理 批量 导入 接口 监控 www.163yun.com 多样需求 持续集成 中台化 PaaS托管 容器化 分布式事务 服务治理 全链路压测 性能监控 注册发现 服务管理 www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致0 码力 | 39 页 | 3.06 MB | 1 年前3 微服务和Service Mesh 在多个行业落地实践www.163yun.com 设计要点九:配置中心 www.163yun.com 设计要点十:日志中心 www.163yun.com 设计要点十一:全链路监控 www.163yun.com 设计要点十二:全链路压测 www.163yun.com 微服务平台总览 容器平台 (多集群基础设施) Pod & Deployment 网络 Calico, OVS 拓扑 依赖 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 APM (应用运行期监控) 运行时 拓扑 性能 监控 服务 筛选 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 测试镜像 仓库 历史 管理 批量 导入 接口 监控 www.163yun.com 多样需求 持续集成 中台化 PaaS托管 容器化 分布式事务 服务治理 全链路压测 性能监控 注册发现 服务管理 www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致0 码力 | 39 页 | 3.06 MB | 1 年前3
 QCon北京2018-《美团配送系统架构演进实践》-阴永俊长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 MVP阶段 业务从零到一 快速迭代、业务试错 核心链路MVP、主流程跑通 • 按照粗领域拆分系统边界 • 按照三大信息流(人、财、物)划分系统 • 如何支撑快速试错: • 项目制; PM、RD = QA; 区分履约服务与运营服务 骑手APP 管理端 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 骑手网关 规模化阶段:核心领域细分 主数据平台 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 履约系统 • 如何解耦用户侧与骑手侧 • 调度系统如何设计0 码力 | 31 页 | 15.26 MB | 1 年前3 QCon北京2018-《美团配送系统架构演进实践》-阴永俊长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 MVP阶段 业务从零到一 快速迭代、业务试错 核心链路MVP、主流程跑通 • 按照粗领域拆分系统边界 • 按照三大信息流(人、财、物)划分系统 • 如何支撑快速试错: • 项目制; PM、RD = QA; 区分履约服务与运营服务 骑手APP 管理端 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 骑手网关 规模化阶段:核心领域细分 主数据平台 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 履约系统 • 如何解耦用户侧与骑手侧 • 调度系统如何设计0 码力 | 31 页 | 15.26 MB | 1 年前3
 降级预案在同程艺龙的工程实践-王俊翔⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 分级预案,对降级点进⾏行行预案编 排,并跟踪监控降级链路路的执⾏行行 • 发现潜在故障,多维度验证预案 有效性,评估系统可靠性,提供 降级策略略、参数调整的优化依据 整体架构 Agent 服务降级注册 降级熔断通知 元数据存储 控制 中⼼心 蓝⾊色预警 - ⼩小规模⾮非核⼼心服务降级 • ⻩黄⾊色预警 - ⼤大规模⾮非核⼼心服务降级 • 红⾊色预警 - 所有⾮非核⼼心服务降级 • 预案编排 • 根据链路路关系、同等级优先级进⾏行行预案编排, 形成降级执⾏行行链路路 • 线上实时预案测试、演练,演练数据回溯 业务不不断迭代,持续引⼊入新依赖,系统是否稳定可靠? 预案是否依然持续有效? 如何才能持续保障系统的⾼高可⽤用性? loadAgent(agent) 3. 加载Agent vm.attach(pid) Jetty ⼩小结 • 从⽤用户感知、核⼼心业务影响⽅方⾯面,判断系统链路路中的强弱依赖 • 通过对服务统⼀一管理理,从全局刻画系统链路路熔断降级点,结合策略略和预案,通过持续不不断的治 理理保障系统的可⽤用性 • 通过反复的故障演练,发现系统中的薄弱点,并进⾏行行有效的预防 • 配合降级预案,0 码力 | 26 页 | 18.67 MB | 1 年前3 降级预案在同程艺龙的工程实践-王俊翔⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 分级预案,对降级点进⾏行行预案编 排,并跟踪监控降级链路路的执⾏行行 • 发现潜在故障,多维度验证预案 有效性,评估系统可靠性,提供 降级策略略、参数调整的优化依据 整体架构 Agent 服务降级注册 降级熔断通知 元数据存储 控制 中⼼心 蓝⾊色预警 - ⼩小规模⾮非核⼼心服务降级 • ⻩黄⾊色预警 - ⼤大规模⾮非核⼼心服务降级 • 红⾊色预警 - 所有⾮非核⼼心服务降级 • 预案编排 • 根据链路路关系、同等级优先级进⾏行行预案编排, 形成降级执⾏行行链路路 • 线上实时预案测试、演练,演练数据回溯 业务不不断迭代,持续引⼊入新依赖,系统是否稳定可靠? 预案是否依然持续有效? 如何才能持续保障系统的⾼高可⽤用性? loadAgent(agent) 3. 加载Agent vm.attach(pid) Jetty ⼩小结 • 从⽤用户感知、核⼼心业务影响⽅方⾯面,判断系统链路路中的强弱依赖 • 通过对服务统⼀一管理理,从全局刻画系统链路路熔断降级点,结合策略略和预案,通过持续不不断的治 理理保障系统的可⽤用性 • 通过反复的故障演练,发现系统中的薄弱点,并进⾏行行有效的预防 • 配合降级预案,0 码力 | 26 页 | 18.67 MB | 1 年前3
 《58到家技术架构快速规划与落地》 - 沈剑技术委员会主席、高级架构师、技术学院优秀讲师 � 技术委员会主席、技术总监 � 本质:程序员 58集团技术专场 目录-技术架构体系建设 问题 实践 总结 1. 服务化 2. 监控平台 3. 调用链跟踪 4. 服务治理 58集团技术专场 一、初创公司技术架构体系建设 常见问题 58集团技术专场 初创公司技术体系常见问题 体系割裂 系统耦合 DB耦合 出问题不知道 查问题麻烦 定位问题周期长 服务化-58到家最佳实践 � 统一服务框架(D-SF) � 统一数据访问层(D-Dao) � 配置中心(D-Confcenter) � 消息总线(D-MQ) � 统一监控(D-Monitor) � 调用链跟踪(D-Tracker) � 服务治理(D-Watcher) 58集团技术专场 2. 监控平台 案例 问题 � 群内反馈 � 客服投诉 � 用户先感知 � 平台成本高 58集团技术专场 (2)易扩展的配置 58集团技术专场 2. 监控平台-接口 • 哪种监控最精准? • 站在调用方的角度来评判服务是否OK 58集团技术专场 3. 调用链跟踪-解决什么问题 实际问题 瓶颈不确定 定位周期长 依赖复杂 监控不足 连环报警 覆盖缺失 58集团技术专场 3. 调用链跟踪-修改哪里 � 典型的请求路径 � 改造点 (1)Web-Framework (2)RPC-Framework0 码力 | 42 页 | 1.52 MB | 1 年前3 《58到家技术架构快速规划与落地》 - 沈剑技术委员会主席、高级架构师、技术学院优秀讲师 � 技术委员会主席、技术总监 � 本质:程序员 58集团技术专场 目录-技术架构体系建设 问题 实践 总结 1. 服务化 2. 监控平台 3. 调用链跟踪 4. 服务治理 58集团技术专场 一、初创公司技术架构体系建设 常见问题 58集团技术专场 初创公司技术体系常见问题 体系割裂 系统耦合 DB耦合 出问题不知道 查问题麻烦 定位问题周期长 服务化-58到家最佳实践 � 统一服务框架(D-SF) � 统一数据访问层(D-Dao) � 配置中心(D-Confcenter) � 消息总线(D-MQ) � 统一监控(D-Monitor) � 调用链跟踪(D-Tracker) � 服务治理(D-Watcher) 58集团技术专场 2. 监控平台 案例 问题 � 群内反馈 � 客服投诉 � 用户先感知 � 平台成本高 58集团技术专场 (2)易扩展的配置 58集团技术专场 2. 监控平台-接口 • 哪种监控最精准? • 站在调用方的角度来评判服务是否OK 58集团技术专场 3. 调用链跟踪-解决什么问题 实际问题 瓶颈不确定 定位周期长 依赖复杂 监控不足 连环报警 覆盖缺失 58集团技术专场 3. 调用链跟踪-修改哪里 � 典型的请求路径 � 改造点 (1)Web-Framework (2)RPC-Framework0 码力 | 42 页 | 1.52 MB | 1 年前3
 大规模分布式系统架构下调测能力构建之道每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务逻辑发生变化了,但负责它的团队没有通知到 我,结果上线后直接导致生产事故。 开发mock能力过滤器,在服务调用链路上对服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 应用无感知 无需修改应用代码,单元测试代码中也无需添加任何的mock语句。 服务 调用 Invoker Invoker … Remote Call 负载均衡 策略 Runtime Mock数据文件 远程服务 Mock配置 开关/策略… 路由 策略 … Mock过滤器 启 动 加 载 服务 调用 脚本引擎 Mock数据规范 格式规范: 1.静态匹配 2.动态匹配 3.多版本支持(服务版本) 管理规范: 1.服务谁提供,就由谁负责相应Mock数据的 制作。 2.mock数据可被使用者二次修改或替换。0 码力 | 19 页 | 2.74 MB | 1 年前3 大规模分布式系统架构下调测能力构建之道每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务逻辑发生变化了,但负责它的团队没有通知到 我,结果上线后直接导致生产事故。 开发mock能力过滤器,在服务调用链路上对服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 应用无感知 无需修改应用代码,单元测试代码中也无需添加任何的mock语句。 服务 调用 Invoker Invoker … Remote Call 负载均衡 策略 Runtime Mock数据文件 远程服务 Mock配置 开关/策略… 路由 策略 … Mock过滤器 启 动 加 载 服务 调用 脚本引擎 Mock数据规范 格式规范: 1.静态匹配 2.动态匹配 3.多版本支持(服务版本) 管理规范: 1.服务谁提供,就由谁负责相应Mock数据的 制作。 2.mock数据可被使用者二次修改或替换。0 码力 | 19 页 | 2.74 MB | 1 年前3
 苏宁易购小程序架构实践 苏宁 禹立彬样式重新解析 • Element转换 Babel转换代码 异常监控 • 业务异常监控 - 自研 • 系统异常监控 - 微信官方后台 运营埋点 • PV UV • 访问链路 • 转化率 3 小程序业务组件 CONTENTS • 使用原生的方式开发,没有使用wepy等框架 • 分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小0 码力 | 36 页 | 833.39 KB | 1 年前3 苏宁易购小程序架构实践 苏宁 禹立彬样式重新解析 • Element转换 Babel转换代码 异常监控 • 业务异常监控 - 自研 • 系统异常监控 - 微信官方后台 运营埋点 • PV UV • 访问链路 • 转化率 3 小程序业务组件 CONTENTS • 使用原生的方式开发,没有使用wepy等框架 • 分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小0 码力 | 36 页 | 833.39 KB | 1 年前3
 付钱拉金融云系统架构演进和最佳实践资金管理 供应链 分期支付 扫码分销 … 基础支付1 SDK支付 扫码支付 分期支付 比特币 银行卡 开户 监控 报表 … 基础支付2 单笔代收 单笔代付 语音支付 余额查询 批量代收 身份鉴权 批量代付 快捷 … 账务 开户 记账 对账 账户托管 … 现金罗盘 代付工资 对外付款 企业理财 企业报销 资金划拨 供应链 … 其他 贷款 理财 供应链 征信 BEGINNING, CONTINUE TO MOVE FORWARD 04 不忘初心,继续前进 中小规模 硬件规模不过百 技术债积累期 团队规模不过百 数据规模日交易量不过千万 配置繁琐 调用混乱 组装困难 协议单一 当前架构的 适用范围 微服务迁移 继续前行 MOVE ON 统一API网关 规范 SPECIFICATION 一 编程规范 1.业务代码中所有SQL耗时打印耗时0 码力 | 35 页 | 6.05 MB | 1 年前3 付钱拉金融云系统架构演进和最佳实践资金管理 供应链 分期支付 扫码分销 … 基础支付1 SDK支付 扫码支付 分期支付 比特币 银行卡 开户 监控 报表 … 基础支付2 单笔代收 单笔代付 语音支付 余额查询 批量代收 身份鉴权 批量代付 快捷 … 账务 开户 记账 对账 账户托管 … 现金罗盘 代付工资 对外付款 企业理财 企业报销 资金划拨 供应链 … 其他 贷款 理财 供应链 征信 BEGINNING, CONTINUE TO MOVE FORWARD 04 不忘初心,继续前进 中小规模 硬件规模不过百 技术债积累期 团队规模不过百 数据规模日交易量不过千万 配置繁琐 调用混乱 组装困难 协议单一 当前架构的 适用范围 微服务迁移 继续前行 MOVE ON 统一API网关 规范 SPECIFICATION 一 编程规范 1.业务代码中所有SQL耗时打印耗时0 码力 | 35 页 | 6.05 MB | 1 年前3
共 18 条
- 1
- 2













