唯品会调度系统的前世今生
邱戈川 (了哥) 微信公众号: VIPDOCKER 唯品会开源弹性调度系统 Saturn的“前世今生” 黄国钦 (Chembo) 唯品会高级开发工程 师 內容主题 为何而生 瓜熟蒂落 有女初长成 女大须嫁 https://github.com/vipshop/Saturn 婆媳关系 为何而生 传统调度系统的问题、产品的定 位与选型 需要解决的问题 1 6 4 3 2 Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 关注点在定时任务而非数据, 缺少分布式并行调度的功能 阿里早期开源的分布式任务调度系 统,代码略陈旧 作业类型较单一,只能是获取/处理 数据一种模式 当当开源的分布式任务调度系统 代码较新,使用Quartz进行调度。提供 高可用和分布式功能 功能单一,只支持Java,不支持 Shell(PHP)和消息驱动的作业调度 对任务超时、任务执行情况、监控逻辑 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn0 码力 | 58 页 | 5.40 MB | 1 年前3QCon北京2018-《美团配送系统架构演进实践》-阴永俊
Swiggy go-jek Doordash 美团外卖 饿了么 点我达 闪送 UU跑腿 海内外掀起一波创业浪潮 美团配送系统:机器与海量骑手协作,服务于全国商家与用户 履约能力 实现平台对运单调度的实时把控,对运单与运力的供需匹配 运营效率 加强对配送骑手的管控能力 提升配送全业务的运营效率,降低成本 履约流程:下单 -> 派单 -> 接单 -> 取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险 . 客服团队:问题跟进、定责… 基础设施不断升级 与 用户消费升级 促使即时配送全面信息化 人工智能 大数据 GPS+GIS 移动互联网 智能手机/APP • 预测供需结构,智能派单调度 • 评估难度、ETA、骑手能力等数据 • 定位越来越精准,地图与导航逐渐成熟 • 实时移动的信息传递通路 • 线下配送的全过程纳入信息环境 1.基础设施不断完善 配送业务全面信息化是必然趋势 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 计算平台 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关0 码力 | 31 页 | 15.26 MB | 1 年前3从百度文件系统看大型分布式系统设计中的定式与创新
百度文件系统BFS - 万亿量级实时数据库Tera - 集群调度系统Galaxy • 个人主页&Blog - https://github.com/bluebore - http://bluebore.cn 提纲 • 百度文件系统简介 • 分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu Stack 网络通信框架Sofa-pbrpc 分布式文件系统 BFS 集群调度系统 Galaxy 分布式协调服务 Nexus 分布式数据库 Tera 分布式计算框架 Shuttle Shuttle Apps(Spider/Index/Search) 数据中心操作系统(DCOS) • 进程调度&内存管理 - Galaxy - 应用部署和任务调度 • 锁和信号量 - Nexus - 分布式锁 - 分布式通知 • 文件系统 - The Baidu File System - 持久化存储 百度文件系统架构 设计一个分布式系统要考虑的 • 数据与计算的分片 • 分区故障容忍 •0 码力 | 24 页 | 937.45 KB | 1 年前3美团点评旅游推荐系统的演进
离线 计算 层 用户基础数据 路由调用 Deal&POI数据 日志基础数据 用户偏好 协同过滤 城市热单 应用数据 基础数据 算法 模型 调 度 / 协 调 服 务 基础数据 任务调度平台 POI中心 Deal中心 ElasticSearch POI Index Deal New Index Deal Index Alias Deal Old Index geo distance filter category filter city filter Online Service 应用数据 应用数据线上化-DataHub • 特征抽取 • 统一特征抽取调度 • 精确控制数据导入速率,避免并发写压力过大 • 特征存储 • 数据压缩:Value String • 特征管理 • 特征注册、特征监控 • 特征消费 • Client缓存:Direct0 码力 | 49 页 | 5.97 MB | 1 年前3领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践
进⼀一步提升性能 •阻塞检测(异步配套):提早发现问题,降低全异步升级成本和⻛风险 • 基于 基础软件 AliJDK(JVM团队) 提供JVM级API的阻塞点检测(业界领先) • 基于 ⾮非阻塞的任务(计算线程)的执⾏行行时⻓长 •统⼀一的线程上下⽂文传递⽅方案(业务&中间件) • 应⽤用不不再需要关⼼心 不不同的中间件 和 业务提供的不不同⽅方案 • 提供⽅方案,⽹网关、RPC、分布式调⽤用跟踪、RxJava等所有中间件 实现分布式回压(backpressure) • 保证整体系统稳定不不过载且充分利利⽤用资源 • 2018双11有试点实验,后续重点 •通过回压把应⽤用集群压⼒力力反馈到基础设施 • 更更精准有效的应⽤用弹性调度 •实现全异步/流式为核⼼心的服务框架 • 考虑引⼊入 Kotlin 协程 •符合现在过程式的编程习惯(⾮非 FP ⻛风格) THANKS ⽀支撑下⼀一个⼗十年年业务的架构! 关注『淘宝技术』公众号0 码力 | 27 页 | 1.13 MB | 1 年前3分布式异地多活架构实践之路
专线费用高; 专线不稳定 跨机房专线问题 依赖小服务,有一 定改造成本; 依赖外部服务 服务依赖问题 减少对业务开发影响; 需要封装屏蔽细节 业务开发影响 如何精准调度; 如何合理调度 流量调度 存储系统自带同步 不成熟; 自研组件之间同步 数据同步 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法异地多活解决方案 • 实际应用效果 混合模式 (多点写,单点读, 单点写,多点读) 非核心业务 老版本兼容服务、运营活动、配置、管 理平台、官网、论坛等 N/A 本地模式 (单点读写) 设计思路 核心业务异地多活 精准流量调度 数据同步 多元化 最终一致性 依赖关系优化 配套系统支撑 主 从 多 主 汇 聚 混 合 场景区分 封装屏蔽细节 容量合理规划 当前总体架构 合肥 北京 广州 HTTPDNS 原有系统 单向依 赖 传统DNS调度存在问题 LocalDNS 智能DNS (权威域名 服务器) root域名服 务器 com域名服 务器 合肥IDC 北京IDC 广州IDC GSLB 获取服务IP IP请求 DNS劫持严重 用户设置DNS服务器 DNS各级缓存 DNSTTL不遵循 EDNS普及缓慢 根据用户IP来 进行运营商区 域的调度 结果:无法就近返回最优的机房I0 码力 | 36 页 | 1.66 MB | 1 年前3海量用户推送后台系统架构实践-曾振波
• 动态管理 • 就近接入 • 自动化管理接入网关 • 自动扩容,应对网络攻击 极光推送后台系统架构 07 极光推送后台系统架构 SDK 管理中心 健康检测服务 Conn B 调度中心 Conn A Conn C 极光推送后台系统架构 M Q M Q IDC3 Conn IDC1 API Segment PushTask XPNS MQ MQ IDC4 Conn Conn IDC2 API Segment PushTask XPNS MQ MQ IDC6 Conn 系统安全 • 网络安全 • 对外业务隔离,异地多机房部署,健康检查,业务快速部署及调度 • 通信安全 • SSL,私有加密协议 • 服务安全 • 安全校验,异常行为识别,过载保护,白名单/黑名单,服务降级 • 监控及告警 • 多维度监控,告警系统 极光推送后台系统架构0 码力 | 23 页 | 1.26 MB | 1 年前3QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+
业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 ??� FNS Fund 宜睿 P2P BASE Other … … 剥离到网关 部分功能前置 统一接口标准 措施:剥组件[深度定制网关] 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 运营活动动态配置,接口重新编排 热点功能前置,网关分发许可限流,保护底层 接口req/resp重写,透明操作 全功能API配置,热加载 方案:0 码力 | 42 页 | 19.96 MB | 1 年前3《58到家技术架构快速规划与落地》 - 沈剑
日志关键字监控Tips (1)异常关键字 (2)正常关键字 (3)易扩展的配置 58集团技术专场 2. 监控平台-接口 Keepalive统一监控 (1)框架统一实现 (2)中心统一调度 处理时间统一监控 (1)框架统一实现 (2)本地初步汇总 (3)日志收集/udp上报 http接口统一监控 (1)http状态码?内容? (2)易扩展的配置 58集团技术专场 20 码力 | 42 页 | 1.52 MB | 1 年前3领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进
截面钢筋模 型上下文 Facade模式 解决: 接口不规范,多套接口 外部接口深入到上游的业务逻辑 限界上下文解耦-发布订阅机制 钢筋模型 上下文 建模模型 上下文 调度中心 平法模型 上下文 发布 解决: 上游模型变化,下游模型联动 发布-订阅机制 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 架构分层 持久化层 领域层0 码力 | 33 页 | 1.25 MB | 1 年前3
共 18 条
- 1
- 2