唯品会调度系统的前世今生申请资源 绑定作业 Saturn 启动作 业 Pull Image Executor容器 启动 作业运 行 容器化管理流程 ZK 作业调度器 控制台 作业控制 结点监听 作业调度 执行节点 Container 1 执行节点 Container 2 DCOS 资源占用 Docker Marathon+Mesos 容器调度 启动 Registry Pull镜像 授权中心 内部集成 容器平台 运维流程管理 报表统计 Demo Time Dashboard – 命名空间维度 Dashboard – Executor维度 Dashboard – Job维度 Dashboard – 告警维度 内部集成 – 认证与授权 内部集成 – 命名空间管理CMDB 内部集成 – 监控系统/调用链 内部集成 – 流程管理 内部集成 – 容器管理 婆媳关系 IO争用(page lock),可导致长时间无法返回!! STW/JVM暂停 解决办法: 1.将GC日志保存到ramfs,比如: -Xloggc:/dev/shm/gc-osp-proxy.log 2.增加JVM启动参数-XX:+PerfDisableSharedMem来避免生成perf文件 后续开源方向 路漫漫其修远兮,吾将上下而求索 以分布式调度为核心 Batch Job调度 异步微服务调度 FAAS0 码力 | 58 页 | 5.40 MB | 1 年前3
苏宁易购小程序架构实践 苏宁 禹立彬小程序服务-数据推荐 • 百度推荐———用户冷启动服务 • 基于商品库推荐 2 小程序前端框架 CONTENTS 小程序的前端构成 小程序的业务主要分为,核心购物流 程,活动玩法,辅助页面三类 复用购物流程———同步器 • 主购物流程由于登录,支付,TAB原因,无法插件化 • 微信小程序间跳转策略的变化,使得无法集中在一个小程序上实现购 物流程,只能每个小程序都具备。 • • 同步器中包含了最新的购物流程文件包——订单,购物车,商品详情 ,个人中心等 • 同步器同步代码,启动新小程序时,在购物主流程上的情况下,同步 生成标准项目。 代码同步器 新的垂直的小程序,使用同步器生成项 目脚手架。 微信小程序插件 • 面向活动玩法类 • 小游戏 • 微信官方提供 • 降级到Webview 百度小程序转换器 • 基于百度官方的wx2swan 运营埋点 • PV UV • 访问链路 • 转化率 3 小程序业务组件 CONTENTS • 使用原生的方式开发,没有使用wepy等框架 • 分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小 • 控制基础库版本,减少对用户的影响 request,登录与302 request,登录与302 在网页状态下运行良好的登录机制,在小程 序下,无法兼容。0 码力 | 36 页 | 833.39 KB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔降级⽅方法使⽤用 Git 降级代码 线下代码管理理 脚本 降级服务如何⾃自动探测恢复 ⽅方法代理理 降级 正常流程 保护期窗⼝口 (10min) 窗⼝口期 探测期窗⼝口 (5min) 探测流量量分配 窗⼝口期外 窗⼝口期外 降级⽅方法 熔断 降级流程 恢复探测 探测 开启 开启 未降级 已降级 关闭 窗⼝口期 指标计算 降级触发/恢复 • 降级保护期窗⼝口内,不不进⾏行行恢复试探 Model Timeout Model Latency Model Agent Listener 故障注⼊入流程 故障演练 管理理后台 应⽤用程序 Agent Listener Agent Redis MySQL ⼆二⽅方服务 1. 发送Agent启动指令 2. Attach⽬目标JVM进程 Core.jar 核⼼心模块初始化 4. 参数下发、故障注⼊入、控制指令0 码力 | 26 页 | 18.67 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化三、政务服务小程序平台研发过程 四、政务服务小程序平台架构演化 五、政务服务系统架构小结与思考 4、一个特殊的移动政务应用项目 3 资源少:初期团队人员少、 业务推动阻力大 1 时间紧: 1月启动,5月上线 2 目标高:高频便民服务、 突出改革亮点,迎接大领 导视察 4 需求多:公积金、社 保、出入境、交管等, 服务很多,需要梳理 目录 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 无大小限制,调转较难 智能化服务能力 微信自带组件,对接更容易 需根据场景单独对接,如人脸识别、支付等 产品自主性 需依托微信平台 完全自主可控 数据安全性 微信前端数据通过HTTPS传输 全业务流程数据传输监控 使用路径 微信端二级应用 一级入口 从技术的角度来比对,小程序和APP各具优势:小程序具备轻量级、跨平台、成本低、功能强和易传播的特征; 而APP则在产品自主可控、数据全程管控、 目的开发管理, 均使用TAPD( www.tapd.cn) 2.使用功能包括:需求管理、文档管理、缺陷管理、Wiki、Gitlab源码、企业微信集成等 3.配置了自定义的发布流程,每次版本发布都走TAPD的发布评审流程 22、对小程序技术架构演进的思考 1、小程序将无处不在,手机、车载、PC、带屏设备 2、小程序、APP、公众号的无缝集成 3、弱中心化、到强中心化 4、开放的更多公共能力、云能力、AI能力0 码力 | 35 页 | 15.60 MB | 1 年前3
美团点评旅游推荐系统的演进View POI/Deal Collect Kafka POI/Deal View/Collect Bolt Redis Online Service Location-Based策略 •冷启动 •新POI •新用户 •区域消费热门POI •5KM范围内的热销POI •区域购买热门POI •5KM范围内的用户购买的POI •回龙观附近没有POI 协同过滤 •Item CF 情侣 有车 九华山庄 南山滑雪场 标签在用户维度的分布 标签在POI维度的分布 用户标签偏好*标签权重*POI标签偏好*POI销量 召回策略演进过程 基于L2R的排序策略优化 机器学习流程 问题建模 推荐 推荐 访消率 •访购率为目标 •只看点击率没有反映出交易属性 •看最终收入 •消费受购买限制、退款条件等影响 •收入跟BD谈单毛利相关 •Pointwise L2R •目标函数:binary:logistic •过拟合VS欠拟合 •样本大小&树的棵数 •样本和特征随机采样 •模型复杂度:max_depth,min_child_weight •通用离线训练工具 •流程抽象化、组件化 •提供公共组件,支持定制组件 效果评估&线上迭代 •离线评估 •AUC •logloss •在线评估 •ABTest:按UUID分流 •线上迭代 •模型更新 •特征漂移:更新延迟0 码力 | 49 页 | 5.97 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道我写了个消息Consumer,布到线上准备测测,结果,别人的消 息先到了,一下把我的预置数据全搞乱了… 7. 我的开发机性能还行,我想自己装一套依赖环境提高开发调测 效率,结果消息服务、缓存服务、服务框架装完一启动,80% 的系统资源就没有了,想想还有一堆的应用服务还没装,直接 泪崩… 8. 办公区断网,所有线上依赖环境都无法访问了,得,今天啥也 干不了了,回家洗洗睡吧…. … ….. ……… 1 2 通过mock手段可以解决外部不可控因素对本地调测的影响,如果真实的外 部服务改变了,我们的mock数据也要随之改变,但 问题是: 我们如何及时感知到服务接口/逻辑发生变化了? 解决方法:契约测试 通过将契约测试集成到CI流程中,在构建的过程中完成接口的联调测试,和 接口变动的验证测试,从而实现对接口变动的及时感知。 Consumer 报告 Provider Consumer 报告 Provider request 接口 验证程序 Mock文件 配置文件: 服务地址 校验接口清单 远程接口A 测试报告 服务注册中心 服务列表 …… 远程接口B … 邮件发送 调用 并 比对结果 CI构建流程 response request 应用服务综合mock能力 在实际应用场景中,应用所依赖的服务往往很分散: 一部分依赖服务从本机的Runtime环境即可获取, 一部分需要从协同团队的远程开发机上临时获取(联调模式),0 码力 | 19 页 | 2.74 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊美团配送系统:机器与海量骑手协作,服务于全国商家与用户 履约能力 实现平台对运单调度的实时把控,对运单与运力的供需匹配 运营效率 加强对配送骑手的管控能力 提升配送全业务的运营效率,降低成本 履约流程:下单 -> 派单 -> 接单 -> 取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险.... 运营团队:运力结构、经营分析、绩效考核.... 客服团队:问题跟进、定责… 基础设施不断升级 长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 MVP阶段 业务从零到一 快速迭代、业务试错 核心链路MVP、主流程跑通 • 按照粗领域拆分系统边界 • 按照三大信息流(人、财、物)划分系统 • 如何支撑快速试错: • 项目制; PM、RD = QA; 区分履约服务与运营服务 骑手APP 管理端 DB 快速起量,系统质量、研发效率问题凸显 数据生产 • 骑手入职、转岗、组织拆分各类流程设计 规模化阶段:解耦履约系统与运营系统 v1.0 • 开放式 • 多服务共享DB v2.0 • 服务化 • 原语层+应用层 v3.0 • 借鉴CQRS + MDM思想 • 生产与应用独立建模 快速起量,系统质量、研发效率问题凸显 核心数据模型 • 无论入职流程、调度流程多复杂,原语接口不变 规模化阶段:解耦履约系统与运营系统0 码力 | 31 页 | 15.26 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践性能 监控 服务 筛选 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 译 镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 文档一致 减少沟通 某视频监控企业:IT资产沉淀与IT能力复用 持续集成 容器化 注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 镜像 构建 集成 测试 部署 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 生产集群 镜像 同步 镜像拉取 自 动 部 署 手 动 触 发 代码到线上全流程管理 互联网化接口测试,场景测试 灵活执行集:冒烟,日常,回归 定时测试,MOCK测试 测试,生产镜像仓库分离,自 动同步 开发测试环境自动部署,生产 环境手动触发 持续集成0 码力 | 39 页 | 3.06 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕运行时可能出现的异常 Applications Runtimes Middleware OS Virtualization Storage Networking Data 启动异常 进程被杀 服务器假死 断电 启动异常 超卖 进程死锁 负载均衡失效 业务线程池满 监控错误 流控不合理 心跳异常 缓存热点 缓存限流 数据库热点 数据库宕机 数据库延迟 CPU 抢占 内存抢占 内存错乱0 码力 | 44 页 | 2.47 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践10.尽量避免使用全局变量防止并发出现线程安全问题,从而影响业务 11.定时器问题预防 定时器浪打浪情况下,任务重复处理会导致资金风险,建议使用redis避免 定时器浪打浪情况下,启动多个定时器即默认启动多个线程,影响系统性能 定时器浪打浪情况下,如果定时任务处理过慢会导致内存耗尽 12.避免系统中出现单点故障,包括中间件和应用程序等所有的节点 13.能异步处理的别同步处理,异步可以释放线程资源,避免阻塞,提高响应效率0 码力 | 35 页 | 6.05 MB | 1 年前3
共 18 条
- 1
- 2













