领域驱动设计&中台/可视化的遗留系统微服务改造
命令⻛风暴暴 寻找聚合 什什么是聚合? 如何寻找聚合? 聚合是⼀一组相关领域模型的集合 , 是⽤用来封装业务的不不变性。确保 关联关系紧密的领域模型能够内 聚在⼀一起。 1. 按照事件顺序依次通过提问来分析: • 这个事件会改变的领域模型是什什么?明确 领域模型(简单理理解就是事件中的涉及的 业务名词) • 这个领域模型是否可以独⽴立访问?如果是 就是聚合 • 如果不不能独⽴立访问应该需要通过哪个领域 商户履履⾏行行订单 订单 商品 1. 订单 2. 商品 3. *** 明确服务的范围 明确核⼼心模型 明确服务包含的数据表 可视化的拆解遗留留系统 微服务架构、绞杀模式、代码依赖分析、数据库依赖分析、 遗留留系统拆解评分表、降⻰龙⼋八步 庖丁解⽜牛拆解的最⾼高境界 了了解⽜牛的⽣生理理构造 避开筋腱⻣骨节交错的组织 从⻣骨节的缝隙下⼿手 ⼗十九年年⼑刀依然锋利利 再看⼀一眼微服务架构 Structure101代码依赖分析 可视化代码地图 ⾃自动分析每⼀一层级 包/类之间的依赖⽣生 成可视化表格 Structure101代码依赖分析 具体依赖细节 Structure101代码依赖分析 可以将包/类进⾏行行 ⾃自由组合,形成 容器器,查看容器器 之间的依赖 服务A 服务B 具体依赖细节 已可视化 Structure101代码依赖分析 与Intellij或Eclipse相0 码力 | 54 页 | 3.85 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
发 服务运⾏行行治理理 服务 部署 运⾏行行架构治理理 故障 分析 定义架构 约束条件 微服务架构设计 服务地图 设计 API设计 部署架构设计 微服务⼯工程创建 开发 框架 架构 ⻛风格 资源 配置 … 架构演进 服务 关系 分析 代码 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 部分 是否⾃自动⽣生成API/ Dockerfile/流⽔水线 ⽣生成 代码 到GIT 仓库 架构分析- 从契约反向识别实现与模型差异 架构分析- 架构Fitness Function检查 代码质量量分析- 配置Sonar地址、展⽰示分析结果 数据结构分析- 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 契约变 更更评审 未评审 契约 提⽰示 已申请资源 登记 服务部署 脚本⽣生成 部署架构 推到⽬目标 运⾏行行(测 试、⽣生产) 单服务 更更新 服务⽰示例例 ⽇日志 问题定 位分析 调⽤用链可 视化 ⽣生成 流⽔水 线 对接流⽔水线执 ⾏行行部署 分享 契约 应⽤用架构变更更 评审 关联变更更到需求 需求 查看需求 我的任务 对接外部 系统0 码力 | 42 页 | 2.95 MB | 1 年前3QCon北京2018-《美团配送系统架构演进实践》-阴永俊
加强对配送骑手的管控能力 提升配送全业务的运营效率,降低成本 履约流程:下单 -> 派单 -> 接单 -> 取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险.... 运营团队:运力结构、经营分析、绩效考核.... 客服团队:问题跟进、定责… 基础设施不断升级 与 用户消费升级 促使即时配送全面信息化 人工智能 大数据 GPS+GIS 移动互联网 智能手机/APP • 预测供需结构,智能派单调度 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 计算平台 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 并行计算 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关0 码力 | 31 页 | 15.26 MB | 1 年前3领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进
构建领域模型 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 业务分析 2 1 3 4 分析业务流程 提炼业务规则 分析业务用例 识别业务对象 子域拆分 • 业务流程 • 专业知识 建模子域 计算子域 登录与 授权子域 报表子域 指标子域 做法子域 限界上下文拆分 按照行业钢筋平法规则,基于构件剖面描述钢筋布筋的模型 基于业务用例识别业务对象 • 截面多边形 • 箍筋 • 纵筋 • 弯钩 • 端头 基于业务对象的钢筋模型 • 不同构件归纳抽象 • 分析业务对象及其关系 • 识别聚合、实体、值对象 柱截面钢筋模型 压顶截面钢筋模型 人防截面钢筋模型 截面钢筋 截面多边形 点筋 截面钢筋 规格 端头 弯钩 规格 线筋 位置 位置0 码力 | 33 页 | 1.25 MB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
势。 6、探索需求 -- 分析可行性,选取合适的需求场景 什么需求适合进入第1版本? 1.服务对接方式:提供API接口,而非H5页面 2.认证方式:基于后台API方式,而非要求用户再次输入 3.服务类型:属于查询、办理类,而非资讯信息、办事指南 4.服务具有便民、高频特征 帅选出第1版本要接入的百项高频便民事项 典型需求梳理场景 - 残疾人服务事项分析 7、产品设计—淬取政务服务信息要素、以用户为中心的展示 应用平台 小程序 端 APP端 运营数 据分析 一体机 端 1.项目建设,考虑的维度有:需求-产品-前后端开发-测试-上线… 2.产品研发,需考虑的维度:产品可扩展,如多端支持(小程序端、APP端、一体机端); 功能可扩展,如支持个人中心、证照、办事、资讯、特色专区等;可移植、易安装等; 及衍生的支撑工具系统,如运营数据分析; 产品视角 目录 一、移动政务应用服务现状与痛点0 码力 | 35 页 | 15.60 MB | 1 年前3海尔实时计算平台技术选型与实践
不影响业务系统性能 代码埋点: • 优点:采集能力强 • 缺点:时间、人力成本大 实时数据采集-数据如何获取? 可视化埋点: • 优点:成本低,速度快 • 缺点:行为记录信息少,支持的分析方式少 • Flume 日志收集可选技术 • Fluentd • Logstash • Scribe Flume Agent Source Incomin g Data Sink 海尔实时计算平台技术选型与实践 开源技术改造经验-数据可视化 数据可视化目标 目标:为公司所有数据分析类项目,提供数据洞察和展示工具。 数据可视化可选方案 • Caravel • Saiku • Zeppelin Zeppelin主要特性 主要特性: • 数据提取 • 数据发现 • 数据分析 • 数据可视化和协作 Zeppelin优势-多语言支持 多语言支持 • 强大的解析器0 码力 | 41 页 | 3.21 MB | 1 年前3领域驱动设计&中台/如何让DDD落地
火起来,主要的功 劳也要给队友“微服务”,那么这是为什什么呢? DDD的⽬目标是什什么 软件设计的⻔门槛是什什么 DDD⾥里里难懂的概念 谁来做领域专家? 产品经理 技术组长 架构师 系统分析师 如何从需求到DDD? 我想要⼀一个电商 平台,我可以在 上⾯面卖东⻄西 ? Event Storming⾥里里缺少了了什什么信息 提交订单的时候 要做什什么检查? 如何添加商品? 仓库聚合锁定库存服务 发送 LockStockCommand ⽣生成 ⽣生成 接收 ⽣生成 QueryOrderCommand 订单域查询服务 接收 OrderList ⽣生成 需求分析到⽤用户故事 Story6 创建订单 作为⼀一个商城顾客 我可以确定购物⻋车中的商品和数量量,然后提交商品订单 为了了在商城上购买商品 Acceptance Criteria 1 - Given:导航【购物⻋车】0 码力 | 32 页 | 3.25 MB | 1 年前3微服务和Service Mesh 在多个行业落地实践
• 安全靠白名单各自为战 • 调用统计与分析无从谈起 • 无服务治理能力,或各自造轮子 www.163yun.com API网关 37 • API网关带来的能力 - 请求透明代理与路由 - 调用审计 - 统一API规范与接口管理 - 基于ak/sk的认证鉴权 - 服务/API审计与调用分析 - 不同维度故障隔离、服务熔断与降级0 码力 | 39 页 | 3.06 MB | 1 年前3分布式异地多活架构实践之路
存储系统自带同步 不成熟; 自研组件之间同步 数据同步 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法异地多活解决方案 • 实际应用效果 • 未来规划 业务特点分析 业务分类 业务举例 业务特点 场景归类 核心业务 皮肤、表情、资源、广告、应用墙译等 读多写少 主从模式 (单点写,多点读) 用户个性化数据同步、账号等 读写均衡 多主模式 (多点读写)0 码力 | 36 页 | 1.66 MB | 1 年前3唯品会调度系统的前世今生
开放 API Submit任务 Executor Executor Executor 公共资源池 Executor Executor Executor 调度 Saturn 资源分析模块 资源规划 开源演进 - FAAS/Serverless Saturn Main()… Main()… Main()… Upload funtion code Trigger: Event0 码力 | 58 页 | 5.40 MB | 1 年前3
共 12 条
- 1
- 2