 高性能高可用机票实时搜索系统⾼性能⾼可⽤机票实时搜索系统 去哪⼉⺴ 梁启康 议题 系统诉求 海海量量数据 设计思路路 搜索框架 报价引擎 待解问题 系统诉求 • 全⽹网价最低 • 航线报价最全 • 实时性最好 • 产品最丰富 • 预定最流畅 ⾯面临问题 航班舱位时刻变动 供应商规则调整密集 航司政策各有不不同 供应商的office权限不不⼀一致 运价规则变化繁多 GDS数据成本不不菲 • Date • Integer • Set • byte, byte[] • short, short[] • int, int[] • obj pool 报价引擎 — 性能优化 • 异步、并⾏行行、⽆无锁化 • 剪枝 • 空间换时间 • 缩短对象驻留留内存时间,减少gc次数,优化单机吞吐 • 数据交换采⽤用protobuf + gzip处理理 •0 码力 | 26 页 | 1.94 MB | 1 年前3 高性能高可用机票实时搜索系统⾼性能⾼可⽤机票实时搜索系统 去哪⼉⺴ 梁启康 议题 系统诉求 海海量量数据 设计思路路 搜索框架 报价引擎 待解问题 系统诉求 • 全⽹网价最低 • 航线报价最全 • 实时性最好 • 产品最丰富 • 预定最流畅 ⾯面临问题 航班舱位时刻变动 供应商规则调整密集 航司政策各有不不同 供应商的office权限不不⼀一致 运价规则变化繁多 GDS数据成本不不菲 • Date • Integer • Set • byte, byte[] • short, short[] • int, int[] • obj pool 报价引擎 — 性能优化 • 异步、并⾏行行、⽆无锁化 • 剪枝 • 空间换时间 • 缩短对象驻留留内存时间,减少gc次数,优化单机吞吐 • 数据交换采⽤用protobuf + gzip处理理 •0 码力 | 26 页 | 1.94 MB | 1 年前3
 领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践反应式架构的探索与实践 淘宝 泽彬(许泽彬) • 花名:泽彬 • 就职于阿⾥里里,经历: • 负责淘宝应⽤用架构升级 • 核⼼心开发 - 建设⽤用户增⻓长设施与平台建设 • 负责过分布式调⽤用链跟踪框架 & 系统 • 核⼼心开发 - 分布式数据库同步系统 • Github :https://github.com/zavakid • 开源项⽬目: • otter 核⼼心开发者: • ⾯面向数据 • 操作、组合 ⾯面向流 • 业务逻辑 → 数据变换 • 数据变换 → 业务逻辑 数据 vs 逻辑 ⾯面向流编程是 ⾯面向数据编程 流式架构 流 分布式 性能 并发控制 业务编写 流 - 业务编写 创建 just / from* / range / repeat /interval / timer 过滤 filter / take • 远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn) 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写 • 更更友好的控制并发 维护性 和 性能 更更优! 优雅控制0 码力 | 27 页 | 1.13 MB | 1 年前3 领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践反应式架构的探索与实践 淘宝 泽彬(许泽彬) • 花名:泽彬 • 就职于阿⾥里里,经历: • 负责淘宝应⽤用架构升级 • 核⼼心开发 - 建设⽤用户增⻓长设施与平台建设 • 负责过分布式调⽤用链跟踪框架 & 系统 • 核⼼心开发 - 分布式数据库同步系统 • Github :https://github.com/zavakid • 开源项⽬目: • otter 核⼼心开发者: • ⾯面向数据 • 操作、组合 ⾯面向流 • 业务逻辑 → 数据变换 • 数据变换 → 业务逻辑 数据 vs 逻辑 ⾯面向流编程是 ⾯面向数据编程 流式架构 流 分布式 性能 并发控制 业务编写 流 - 业务编写 创建 just / from* / range / repeat /interval / timer 过滤 filter / take • 远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn) 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写 • 更更友好的控制并发 维护性 和 性能 更更优! 优雅控制0 码力 | 27 页 | 1.13 MB | 1 年前3
 全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdashsimultaneously 经典计算机的量子物理极限:《摩尔定律》的失效 算力代表着未来 《摩尔定律》失效 表明未来算力依赖 于量子领域的探索 摩尔定律: 集成电路上的晶体管数目 每隔18个月翻倍,性能也会 翻倍 一般业界认为量子 计算的应用如下: • 量子化学模拟 • 量子材料模拟 • 量子优化问题 • 量子机器学习 • 量子密码系统 • 量子精密测量 • 量子启发算法 量子计算优势 2018年4月: Google发布72量子比特 超导计算机芯片 Bristlecone 2016年:IBM研制出5 量子比特的超导量子计 算机 2019年10月: Google 在Nature 发文,演示量子优 势 量子力学建立 量子计算理论发展 量子工程 1930 1960 1980 1990 2000 2010 1993年:姚期 智首次证明了 量子图灵机模 型与量子电路 模型的等价性 2019 基于硬件的量子调控 量子-经典混合计算 随着量子工艺和调控技术的进步,“可用”量子 比特数在短期内将达到50-100个,量子-经典混 合计算是发挥其应用潜力的最重要途径之一! 华为量子计算云服务2.0,功能和性能全面大幅提升 量子应用 量子算法库 量子编程框架 量子控制 量子芯片 模拟器 化学模拟 组合优化 人工智能 模拟算法 优化算法 学习算法 编程语言 编译器 资源管理 资源调度 量子纠错0 码力 | 34 页 | 5.57 MB | 1 年前3 全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdashsimultaneously 经典计算机的量子物理极限:《摩尔定律》的失效 算力代表着未来 《摩尔定律》失效 表明未来算力依赖 于量子领域的探索 摩尔定律: 集成电路上的晶体管数目 每隔18个月翻倍,性能也会 翻倍 一般业界认为量子 计算的应用如下: • 量子化学模拟 • 量子材料模拟 • 量子优化问题 • 量子机器学习 • 量子密码系统 • 量子精密测量 • 量子启发算法 量子计算优势 2018年4月: Google发布72量子比特 超导计算机芯片 Bristlecone 2016年:IBM研制出5 量子比特的超导量子计 算机 2019年10月: Google 在Nature 发文,演示量子优 势 量子力学建立 量子计算理论发展 量子工程 1930 1960 1980 1990 2000 2010 1993年:姚期 智首次证明了 量子图灵机模 型与量子电路 模型的等价性 2019 基于硬件的量子调控 量子-经典混合计算 随着量子工艺和调控技术的进步,“可用”量子 比特数在短期内将达到50-100个,量子-经典混 合计算是发挥其应用潜力的最重要途径之一! 华为量子计算云服务2.0,功能和性能全面大幅提升 量子应用 量子算法库 量子编程框架 量子控制 量子芯片 模拟器 化学模拟 组合优化 人工智能 模拟算法 优化算法 学习算法 编程语言 编译器 资源管理 资源调度 量子纠错0 码力 | 34 页 | 5.57 MB | 1 年前3
 领域驱动设计&中台/架构分层模型适配给⽤用户提供界⾯面,关注⽤用户交互和体验 前端应⽤用 API服务 业务领域 基础设施 为前端应⽤用提供API服务,关注事务和分布式等技术性问题 领域模型和领域逻辑,关注业务概念。 访问外界系统(调⽤用外界系统)的技术相关实现。 后台服务 前端应⽤用 分层依据: ⼲干系⼈人和技术点 DDD分层参考架构 - 前端应⽤用 DDD重点关注后台业务服务,不不解决前端交互问题 前端界⾯面 API服务 为前端和第三⽅方应⽤用提供API服务,关注服务编排,事务和 分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 API服务 ⼯工作内容: • 接收外部请求并响应: 如HTTP请求, 消息处理理 • 事务管理理 • 认证 • 缓存 • ⽇日志 • 异常处理理 访问外界系统(调⽤用外界系统)的技术相关实现。 前端应⽤用 API服务 业务领域 基础设施 ⼲干系⼈人: 外界系统 诉求: 稳定调⽤用外部系统 技术点: 使⽤用和适配外部系统模型,隔离和快速诊断错误 ⼯工作内容: • 学习和使⽤用外部系统,如数据库,邮件系统 • 适配外部系统模型,如SQL映射到模型对象 技术⼈人员关注的层 基础设施 腐化案例例: 业务逻辑和外部调⽤用逻辑混合0 码力 | 39 页 | 2.54 MB | 1 年前3 领域驱动设计&中台/架构分层模型适配给⽤用户提供界⾯面,关注⽤用户交互和体验 前端应⽤用 API服务 业务领域 基础设施 为前端应⽤用提供API服务,关注事务和分布式等技术性问题 领域模型和领域逻辑,关注业务概念。 访问外界系统(调⽤用外界系统)的技术相关实现。 后台服务 前端应⽤用 分层依据: ⼲干系⼈人和技术点 DDD分层参考架构 - 前端应⽤用 DDD重点关注后台业务服务,不不解决前端交互问题 前端界⾯面 API服务 为前端和第三⽅方应⽤用提供API服务,关注服务编排,事务和 分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 API服务 ⼯工作内容: • 接收外部请求并响应: 如HTTP请求, 消息处理理 • 事务管理理 • 认证 • 缓存 • ⽇日志 • 异常处理理 访问外界系统(调⽤用外界系统)的技术相关实现。 前端应⽤用 API服务 业务领域 基础设施 ⼲干系⼈人: 外界系统 诉求: 稳定调⽤用外部系统 技术点: 使⽤用和适配外部系统模型,隔离和快速诊断错误 ⼯工作内容: • 学习和使⽤用外部系统,如数据库,邮件系统 • 适配外部系统模型,如SQL映射到模型对象 技术⼈人员关注的层 基础设施 腐化案例例: 业务逻辑和外部调⽤用逻辑混合0 码力 | 39 页 | 2.54 MB | 1 年前3
 领域驱动设计&中台/可视化的遗留系统微服务改造仓库库存 已增加 商品已 编辑 退货单已 创建 退货单已 审核 订单已 退货 ⼊入库单 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 添加 商品 ⽀支付宝 回调 超过1⼩小时 未⽀支付 ⏱ 编辑 商品 产品运 营⼈人员 编辑库存 编辑销售 价格 发布商品 创建订单 扣减库存 创建 出库单 占⽤用库存 发货 扣减库存 发货 收货 撤销订单 创建 退货单 审核 退货单 创建 ⼊入库单 ⼊入库 增加库存 买家 系统 系统 系统 出库单已 配货 配货 仓库 管理理员 仓库 管理理员 系统 系统 物流系统 回调 超过48⼩小时 未确认 ⏱ 买家 买家 系统 买家 订单 专员 系统 仓库 管理理员 退货 系统 系统 创建 补货单 审批补 货单 创建 ⼊入库单 ⼊入库 增加库存 编辑 编辑 商品 商品销售 价格已编辑 编辑销 售 商品 已发布 发布商 品 订单 已创建 创建订 单 订单 已撤销 撤销订单 订单 已⽀支付 ⽀支付宝 回调 商城库存 已编辑 编辑库 存 商城库存 已扣减 扣减库 存 商城库 存 增加库存 订单 已发货 发货 订单 已签收 订单已 确认收货 收货 物流系 统 仓库库存0 码力 | 54 页 | 3.85 MB | 1 年前3 领域驱动设计&中台/可视化的遗留系统微服务改造仓库库存 已增加 商品已 编辑 退货单已 创建 退货单已 审核 订单已 退货 ⼊入库单 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 添加 商品 ⽀支付宝 回调 超过1⼩小时 未⽀支付 ⏱ 编辑 商品 产品运 营⼈人员 编辑库存 编辑销售 价格 发布商品 创建订单 扣减库存 创建 出库单 占⽤用库存 发货 扣减库存 发货 收货 撤销订单 创建 退货单 审核 退货单 创建 ⼊入库单 ⼊入库 增加库存 买家 系统 系统 系统 出库单已 配货 配货 仓库 管理理员 仓库 管理理员 系统 系统 物流系统 回调 超过48⼩小时 未确认 ⏱ 买家 买家 系统 买家 订单 专员 系统 仓库 管理理员 退货 系统 系统 创建 补货单 审批补 货单 创建 ⼊入库单 ⼊入库 增加库存 编辑 编辑 商品 商品销售 价格已编辑 编辑销 售 商品 已发布 发布商 品 订单 已创建 创建订 单 订单 已撤销 撤销订单 订单 已⽀支付 ⽀支付宝 回调 商城库存 已编辑 编辑库 存 商城库存 已扣减 扣减库 存 商城库 存 增加库存 订单 已发货 发货 订单 已签收 订单已 确认收货 收货 物流系 统 仓库库存0 码力 | 54 页 | 3.85 MB | 1 年前3
 分布式 KV 存储系统 Cellar 演进之路中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 开源 Tair • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 Cellar—中心节点架构演进 • 性能问题 客户端集中获取路由表 • 隔离性问题0 码力 | 34 页 | 1.66 MB | 1 年前3 分布式 KV 存储系统 Cellar 演进之路中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 开源 Tair • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 Cellar—中心节点架构演进 • 性能问题 客户端集中获取路由表 • 隔离性问题0 码力 | 34 页 | 1.66 MB | 1 年前3
 大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer (超)大型规模应用+契约协同 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 DB Cluster 么也做不了 2. 我负责的功能依赖一堆的远程服务,为了本地调测,我必须从 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样,0 码力 | 19 页 | 2.74 MB | 1 年前3 大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer (超)大型规模应用+契约协同 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 DB Cluster 么也做不了 2. 我负责的功能依赖一堆的远程服务,为了本地调测,我必须从 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样,0 码力 | 19 页 | 2.74 MB | 1 年前3
 美团点评旅游推荐系统的演进推荐 访消率 •访购率为目标 •只看点击率没有反映出交易属性 •看最终收入 •消费受购买限制、退款条件等影响 •收入跟BD谈单毛利相关 •Pointwise L2R •Pairwise性能问题 •NN做rank? Model h q1 d1 d2 d3 d4 dn …… q2 d1 d2 d3 d4 dn …… q3 d1 d2 d3 d4 dn d5 … 。 。 d1 Model h 线上工程 问题建模 •GBDT •非线性 •High Level特征多 •XGBoost •泰勒展开,利用了二阶导数信息 •对数据预排序,性能更高 •多模型融合 •GBDT模型+FFM模型 问题建模 •FFM •矩阵分解+回归 •Low Level特征多 •情景推荐 •发现特征关联关系 •用户画像 •上下文 •POI Item CF User CF 用户画像 离线 计算 层 用户基础数据 路由调用 Deal&POI数据 日志基础数据 用户偏好 协同过滤 城市热单 应用数据 基础数据 算法 模型 调 度 / 协 调 服 务 基础数据 任务调度平台 POI中心 Deal中心 ElasticSearch POI Index Deal New Index Deal Index Alias Deal0 码力 | 49 页 | 5.97 MB | 1 年前3 美团点评旅游推荐系统的演进推荐 访消率 •访购率为目标 •只看点击率没有反映出交易属性 •看最终收入 •消费受购买限制、退款条件等影响 •收入跟BD谈单毛利相关 •Pointwise L2R •Pairwise性能问题 •NN做rank? Model h q1 d1 d2 d3 d4 dn …… q2 d1 d2 d3 d4 dn …… q3 d1 d2 d3 d4 dn d5 … 。 。 d1 Model h 线上工程 问题建模 •GBDT •非线性 •High Level特征多 •XGBoost •泰勒展开,利用了二阶导数信息 •对数据预排序,性能更高 •多模型融合 •GBDT模型+FFM模型 问题建模 •FFM •矩阵分解+回归 •Low Level特征多 •情景推荐 •发现特征关联关系 •用户画像 •上下文 •POI Item CF User CF 用户画像 离线 计算 层 用户基础数据 路由调用 Deal&POI数据 日志基础数据 用户偏好 协同过滤 城市热单 应用数据 基础数据 算法 模型 调 度 / 协 调 服 务 基础数据 任务调度平台 POI中心 Deal中心 ElasticSearch POI Index Deal New Index Deal Index Alias Deal0 码力 | 49 页 | 5.97 MB | 1 年前3
 领域驱动设计&中台/如何让DDD落地行订单 创建,创建成功后返回成功结果给订单API控制器器 如果商品库存不不⽀支持订单数量量,返回出错结果和原因给订单API适配器器 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者, 5.商品库存订阅者收到事件以后会根据事件中的商品ID和订单数量量创建锁定商品库存 数量量创建锁定商品库存 命令,然后给锁定商品库存服务进⾏行行库存锁定 6.锁定商品库存服务收到命令后,会把根据命令中的商品ID从商品库存仓库中获取商 品库存,然后根据让商品库存锁定订单数量量,之后调⽤用商品库存仓库进⾏行行保存,最后 让事件发布器器发布商品库存已锁定事件 ……. 领域故事中的主要对象 领域对象 类型 命名 订单API控制器器 Adapter OrderController ��Address/Color 如何区分应⽤用服务和领域服务 应⽤用服务(很薄,没有业务逻辑) 领域聚合A 领域聚合B 领域聚合C 领域服务 领域服务 领域服务 X 领域服务之间最好不不要相互直接调⽤用 使⽤用什什么架构 六边形架构为什什么是六条边 领域故事中的对象怎么对应到架构上 命名 OrderController CreateOrderCommand CreateOrderApplication0 码力 | 32 页 | 3.25 MB | 1 年前3 领域驱动设计&中台/如何让DDD落地行订单 创建,创建成功后返回成功结果给订单API控制器器 如果商品库存不不⽀支持订单数量量,返回出错结果和原因给订单API适配器器 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者, 5.商品库存订阅者收到事件以后会根据事件中的商品ID和订单数量量创建锁定商品库存 数量量创建锁定商品库存 命令,然后给锁定商品库存服务进⾏行行库存锁定 6.锁定商品库存服务收到命令后,会把根据命令中的商品ID从商品库存仓库中获取商 品库存,然后根据让商品库存锁定订单数量量,之后调⽤用商品库存仓库进⾏行行保存,最后 让事件发布器器发布商品库存已锁定事件 ……. 领域故事中的主要对象 领域对象 类型 命名 订单API控制器器 Adapter OrderController ��Address/Color 如何区分应⽤用服务和领域服务 应⽤用服务(很薄,没有业务逻辑) 领域聚合A 领域聚合B 领域聚合C 领域服务 领域服务 领域服务 X 领域服务之间最好不不要相互直接调⽤用 使⽤用什什么架构 六边形架构为什什么是六条边 领域故事中的对象怎么对应到架构上 命名 OrderController CreateOrderCommand CreateOrderApplication0 码力 | 32 页 | 3.25 MB | 1 年前3
 从百度文件系统看大型分布式系统设计中的定式与创新cn 提纲 • 百度文件系统简介 • 分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu0 码力 | 24 页 | 937.45 KB | 1 年前3 从百度文件系统看大型分布式系统设计中的定式与创新cn 提纲 • 百度文件系统简介 • 分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu0 码力 | 24 页 | 937.45 KB | 1 年前3
共 24 条
- 1
- 2
- 3













