降级预案在同程艺龙的工程实践-王俊翔
Application JVM 故障画像 • 应⽤用故障:模拟应⽤用进程内故障 • 中间件故障:通过中间件客户端,模拟中间件故障 • 系统故障:通过⼯工具、脚本模拟⽹网络丢包、延时,磁盘不不⾜足故障 故障抽象,提炼统⼀一模型 • 延时模型、超时模型、异常模型、⾃自定义代码模型 • 基于模型实现应⽤用故障、中间件故障模拟,实时对应⽤用程序进⾏行行 字节码插桩、拆桩 简洁易易操作后台 • 可视化UI,参数、配置下发,快速实现故障注⼊入 发送Agent启动指令 2. Attach⽬目标JVM进程 Core.jar 核⼼心模块初始化 4. 参数下发、故障注⼊入、控制指令 Http通信 5. ⽬目标⽅方法字节码增强 6. MySQL延时模拟 6. Redis超时模拟 6. 服务异常模拟 Instrumentation & ASM vm.loadAgent(agent) 3. 加载Agent vm.attach(pid)0 码力 | 26 页 | 18.67 MB | 1 年前3领域驱动设计&中台/如何让DDD落地
适配器器 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者, 5.商品库存订阅者收到事件以后会根据事件中的商品ID和订单数量量创建锁定商品库存 命令,然后给锁定商品库存服务进⾏行行库存锁定 6.锁定商品库存服务收到命令后,会把根据命令中的商品ID从商品库存仓库中获取商 需要增加⼀一些业务逻辑时 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者,订单⽇日志订 阅者 5…. 6…. 7.订单⽇日志订阅者收到订单已创建事件后,会根据事件创建添加订单⽇日志命令,然后 调⽤用添加订单⽇日志服务来进⾏行行添加 8.添加订单⽇0 码力 | 32 页 | 3.25 MB | 1 年前3海尔实时计算平台技术选型与实践
Heron Spark Flink Ganglia Sqoop zeppelin Saiku Caravel CBoard Nagios 实时数据采集技术选型要求 • 完整 • 低延时 • 不影响业务系统性能 代码埋点: • 优点:采集能力强 • 缺点:时间、人力成本大 实时数据采集-数据如何获取? 可视化埋点: • 优点:成本低,速度快 • 缺点:行为记录信息少,支持的分析方式少0 码力 | 41 页 | 3.21 MB | 1 年前3
共 3 条
- 1