领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进
基于业务对象的钢筋模型 • 不同构件归纳抽象 • 分析业务对象及其关系 • 识别聚合、实体、值对象 柱截面钢筋模型 压顶截面钢筋模型 人防截面钢筋模型 截面钢筋 截面多边形 点筋 截面钢筋 规格 端头 弯钩 规格 线筋 位置 位置 标高 标注 …... 重新定义边界后的截面钢筋模型 • 检视模型中聚合、实体、值对象的关系 • 检视模型边界 柱截面钢筋模型 压顶截面钢筋模型0 码力 | 33 页 | 1.25 MB | 1 年前3领域驱动设计&中台/用状态机封装领域逻辑
答对问题有奖金 金额从2.56元到20.48元 请扫我微信以便当场转账 加微信时烦告知尊姓大名 建模 哪些类值得画状态机 全方位建模的可能性和必要性 核心类 状态多事物(彩色建模)实体责任起点聚合的根 图形界面 质量要求很高的系统,每个类 建模 要点 从类名思考修饰词(形容词) 从行为思考状态变化 从状态属性思考状态名称 优先用原生形容词,防止换汤不换药0 码力 | 30 页 | 1.75 MB | 1 年前3领域驱动设计&中台/如何让DDD落地
DomainService LockStockService 商品库存仓库 Repository StockRepository 商品库存已锁定事件 Event StockLocked 领域模型 如何区分实体和值对象 ��� �� VS Ø ������ Ø ����� Ø ��Id����� Ø ����/��� Ø �� Ø ��Order/Car Ø ������ Ø �����0 码力 | 32 页 | 3.25 MB | 1 年前3领域驱动设计&中台/架构分层模型适配
业务领域 腐化案例例: 亏空 ⼤大量量技术术语业务⼈人员完全看不不懂 模型: • 应⽤用服务 — 跨Bond Context DTO • 领域服务 — 跨聚合 • 聚合 实体 仓库 事件 DDD分层参考架构 访问外界系统(调⽤用外界系统)的技术相关实现。 前端应⽤用 API服务 业务领域 基础设施 ⼲干系⼈人: 外界系统 诉求: 稳定调⽤用外部系统 技术点:0 码力 | 39 页 | 2.54 MB | 1 年前3高性能高可用机票实时搜索系统
⾼性能⾼可⽤机票实时搜索系统 去哪⼉⺴ 梁启康 议题 系统诉求 海海量量数据 设计思路路 搜索框架 报价引擎 待解问题 系统诉求 • 全⽹网价最低 • 航线报价最全 • 实时性最好 • 产品最丰富 • 预定最流畅 ⾯面临问题 航班舱位时刻变动 供应商规则调整密集 航司政策各有不不同 供应商的office权限不不⼀一致 运价规则变化繁多 GDS数据成本不不菲 响应所有渠道价格变动进⾏行行计算 • 快 • 0 变价 设计思路路 CAP BASE 理理论 按需计算 消息驱动 异步 分布式 分级缓存 ⽆无状态 搜索框架 PriceMerger 报价引擎 供应商直连 旗舰店 CacheManager 抓取 App WWW Touch 分销 Cache Redis MQ MQ 航班数据 运价数据 应⽤用层 聚合层 报价源 基础数据 尽量量⽤用原⽣生数据类型,编码 • 回数⽐比例例,异步搜索更更新 • 分批回数 • ⼀一致性哈希,负载均衡 • 供应商粒度,主动更更新 报价引擎 供应商规则 航司运价 航班舱位状态 套餐搭售 + + 低价特惠 商旅优选 头等舱 。。。 报价引擎—供应商规则 报价引擎 • 背景 • 供应商定价规则、航班舱 位、运价,决定底价 • 供应商数千,不不少供应商 上千万条规则 • 定价规则按供应商分库0 码力 | 26 页 | 1.94 MB | 1 年前3美团点评旅游推荐系统的演进
•有啊商城的开发 •2010年毕业于中科院计算所 Outline •美团点评酒旅业务简介 •基于用户画像的召回策略演进 •基于L2R的排序策略优化 •从海量大数据的离线计算到高并发在线服务的推荐引擎架构设计 •推荐在美团点评酒旅的应用实践 人工智能应用 Critical Physical World Critical Digital World Non-Critical Digital Underfiting >期望目标值 接近或略逊于训练集 合适 >期望目标值 远差于训练集 Overfiting 模型调试 模型Debug工具 从海量大数据的离线计算到高并 发在线服务的推荐引擎架构设计 猜你喜欢 筛选扩大召回 详情页推荐 搜索少/无结果推荐 …. 应用 场景 层 推荐 服务 层 召回 过滤 排序 POST Rerank 分流 日志收集 Thrift 接口 核心 • 通用过滤策略:黑名单 • 针对某类召回策略:浏览未购买 • Rerank:个性化排序 • Post Rerank 推荐引擎 API 推荐服务 APP 召回 过滤 Rerank Post Rerank Rerank服务 Merge 推荐引擎-Rerank Feature List Feature Config Model File 模型及特征配置中心 Strategy0 码力 | 49 页 | 5.97 MB | 1 年前3降级预案在同程艺龙的工程实践-王俊翔
降级预案在同程艺⻰龙的⼯工程实践 演讲者 / 王俊翔 同程艺龙 ⾃自我介绍 搜索故障 微信⼩小程序 API⽹网关 资源1 搜索引擎 统⼀一资源⽹网关 资源2 资源3 资源4 …… 资源4 ⼤大量量超时 统⼀一资源⽹网关 搜索引擎 API⽹网关 ⼤大量量请求超时 缺乏熔断设计 交易易故障 第三⽅方⽀支付 ⽀支付中⼼心 ⽀支付回写 消息队列列 ⽀支付通知 交易易中台 指标聚合查询 熔断降级计算(Flink) ⽇日志中⼼心 KAFKA 数据采集、计算、存储 指标(HBase) 指标明细(ES) 降级⽇日志(ES) ETL 指标计算(Flink) 脚本引擎 查 询 服 务 ⽇日志数据 指标(Redis) 业务异常数据快照(ES) 熔断降级通知 降级服务管理理 故障代码注⼊入 降级服务注册设计 serviceA serviceB ServiceC.指标1 指标引⽤用 指标2 指标1 指标3 指标N 指标2 指标1 指标3 指标N 指标2 指标1 指标3 指标N 指标2 指标1 指标3 指标N MVEL 表达式引擎 降级服务管理理 • 降级服务管理理 • 应⽤用、服务、策略略产品化、数据化 • 应⽤用、服务指标实时监控,健康状态评估 • 实时监测服务降级执⾏行行状态,降级发⽣生点数据 快照及时回溯0 码力 | 26 页 | 18.67 MB | 1 年前3分布式 KV 存储系统 Cellar 演进之路
HASH Key 桶号 存储节点 固定HASH算 法 固定数目 数据分片 桶->存储节点 对照表 Cellar起源—Tair架构 服务层 请求 mdb 响应 ldb fdb rdb 引擎层 迁移 复制 • 中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 请求超时抖动 Cellar—服务可用性提升 Cellar—无损数据迁移 数据迁移的问题 • 迁移速度不可控,易影响业务请求 • 路由表更新瞬间请求失败 • key级别迁移写入,引擎压力大 节点状态指标 • 引擎压力 • 网卡 • 队列 • QPS • ··· Cellar—无损数据迁移 智能调速+全程代理 A节点 B节点 桶2 桶1 客户端 桶4 桶4 桶1 桶3 迁移数据0 码力 | 34 页 | 1.66 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
log格式入⼿手 框架管理理 代码模版⽣生成 引擎 GIT插件通信 对接DevOps 流⽔水线 契约测试Mocker Server API定义⽣生成Jar 契约配置中⼼心 统⼀一管理理 获得运⾏行行架构、实例例状态 ELK⽅方 案 对接资源室 获得组织结 构 对接175产品 定义管理理 Fitness Function执 ⾏行行引擎 集成Sonar Server 微服务 服务地 图 API 契约 外部系 统 部署架构服务 架构约 束 部署架 构 部署组 件 架构守护 服务 架构 守护 度量量服务 度量量分 析 代码⽣生成引擎服务 依赖 框架模 板 微服务 ⼯工程 码云 U D U D DevOps平台 微服务契约测试平台 Sonar U D D U U D U D U D U0 码力 | 42 页 | 2.95 MB | 1 年前3陈辉-架构师的业务思维
else不能解决本质问题 多平台、多渠道是个趋势 跳出技术思维 多渠道的本质是商品交易体系的扩展性 理解清楚当前需求 具有业务前瞻性 不要过度设计 多渠道 多平台 多用户 模块化 SPI 规则引擎 流程引擎 商品平台化 交易平台化 促销平台化 渠道下单 无结构化商品 多平台玩法 多端适配和开发组件 组件池 怎么去实践 走到业务一线去 找对评判标准-比如客户价值 权衡技术和业务 看远一点,做实际点0 码力 | 32 页 | 3.18 MB | 1 年前3
共 13 条
- 1
- 2