领域驱动设计&中台/可视化的遗留系统微服务改造��������� ����� ⽑毛超 CONTENTS 01 引⾔言 02 可视化的认识遗留留系统 03 可视化的划分遗留留系统 04 可视化的拆解遗留留系统 引⾔言 遗留留系统、微服务架构 任何⼈人类的设计都会腐化 软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •容错设计 •演进式设计 可视化能帮我们什什么 掌握系统业务 明确系统边界 ⼩小步改造系统 可视化的认识遗留留系统 C4模型、⽤用户画像、⽤用户旅程 C4模型系统架构可视化 国家级 省级 道路路级 市级 C4模型系统架构可视化 系统上 下⽂文图 容器器图 代码图 组件图 已可视化 ⽤用户画像和旅程系统功能⽤用户可视化 ⽤用户画像 ⽤用户旅程 已可视化 突出⽤用户信息,诉求和价值体现 突出⽤用户信息,诉求和价值体现 还原业务场景 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 好的设计 低耦合 如果做到了了服务之间的松耦 合,那么修改⼀一个服务就不不 需要修改另⼀一个服务。⼀一个 松耦合的服务应该尽可能少 地知道与之协作的那些服务 的信息。 ⾼高内聚 就是把相关的⾏行行为聚 集在⼀一起,把不不相关 的⾏行行为放在别处。如 果你要修改某个服务 的⾏行行为,最好只在⼀一0 码力 | 54 页 | 3.85 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 部分 产品、⼈人 员维护 定义通⽤用 约束条件 定义服务 约束条件 可视化设计 服务地图 关联变更更到需求 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 架构分析- 架构Fitness Function检查 代码质量量分析- 配置Sonar地址、展⽰示分析结果 数据结构分析- 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统 列列表 团队⼈人员⾓角⾊色 权限维护 外部系统维护 更更新 服务⽰示例例 ⽇日志 问题定 位分析 调⽤用链可 视化 ⽣生成 流⽔水 线 对接流⽔水线执 ⾏行行部署 分享 契约 应⽤用架构变更更 评审 关联变更更到需求 需求 查看需求 我的任务 对接外部 系统 前台 后台/⽀支持 为MVP包含的功能范围 服务地图 产品服务 ⽤用户 产品 容器器 云 PaaS ELK 监控 发布 平台 运维服务0 码力 | 42 页 | 2.95 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊(核心模型) 账号权限 组织架构 核心数据模型 配送服务 配送运力 ⋯ 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 计算平台 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 (核心模型) 账号权限 组织架构 核心数据模型 配送服务 配送运力 ⋯ 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 并行计算 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 (核心模型) 账号权限 组织架构 核心数据模型 配送服务 配送运力 ⋯ 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 计算平台 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务0 码力 | 31 页 | 15.26 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践CONFUSION 需求设计阶段- 首次拦截 开发实现阶段-尽可能避免故障 系统运行阶段-及时发现故障 系统运行阶段-出现故障快速解决故障 思路 THINKING 预见运行期、所想即所得、限制和保护 设计可容错的系统(快速失败、超时、自动重路由) 设计具备自我保护的系统(拆分、限制、优雅停止) 制定合适的开发规范 撒网 实时监控(傻瓜式、开发不用查日志) 可视化运营 网络监控 耗时类(交易总时长、分段时长、SQL耗时、代码耗时) 统计类(订单量异常预警、非法IP预警、交易额过大) 网络异常(单通道和多通道、不同的分布场景) 撒网与实时监控 REAL-TIME MONITORING 可视化运营 VISUAL OPERATION 优先恢复 蓝绿部署 提前准备 服务降级 kill 慢SQL、摘节点、线 程栈和内存堆现场保留 反 向 代 理 反 向 代 理 APP1 APP20 码力 | 35 页 | 6.05 MB | 1 年前3
海尔实时计算平台技术选型与实践• 实时计算平台背景 • 开源技术选型与实践 • 开源技术改造经验 背景-海尔大数据总体规划 实时计算平台框架 存 储 服 务 实时数据采集框架 实时计算框架 离线计算框架 数据可视化框架 数据产品1 数据产品2 数据产品N 可选的开源技术 Fluentd Flume Apollo Chukwa Sqoop DataX MySQLStreamer Canal Scribe Nagios 实时数据采集技术选型要求 • 完整 • 低延时 • 不影响业务系统性能 代码埋点: • 优点:采集能力强 • 缺点:时间、人力成本大 实时数据采集-数据如何获取? 可视化埋点: • 优点:成本低,速度快 • 缺点:行为记录信息少,支持的分析方式少 • Flume 日志收集可选技术 • Fluentd • Logstash • Scribe Flume Nagios 海尔实时计算平台技术选型与实践 开源技术改造经验-数据可视化 数据可视化目标 目标:为公司所有数据分析类项目,提供数据洞察和展示工具。 数据可视化可选方案 • Caravel • Saiku • Zeppelin Zeppelin主要特性 主要特性: • 数据提取 • 数据发现 • 数据分析 • 数据可视化和协作 Zeppelin优势-多语言支持 多语言支持 •0 码力 | 41 页 | 3.21 MB | 1 年前3
《58到家技术架构快速规划与落地》 - 沈剑改造内容:加两行日志 58集团技术专场 启示:统一组件多么重要 58集团技术专场 3. 调用链跟踪-快速落地实践 � 请求链跨进程标识 � 时序标识 � 深度标识 � 数据收集 � 可视化 58集团技术专场 3. 调用链跟踪-效果 � 58到家调用链跟踪系统 (1)快速定位性能瓶颈 (2)快速发现不合理调用 (3)快速发现线上问题所在 58集团技术专场 3. 调用链跟踪-效果 58集团技术专场 总结-初创公司技术体系怎么玩 � 服务化:统一框架,统一数据访问,解耦组件 � 监控平台:机器/操作系统,进程/端口,日志,接口 � 调用链跟踪:修改点,串联/时序/深度,数据收集,可视化 � 守望者平台:应用视角,上下游,数据收集,统一展现 统一组件 快速落地 58集团技术专场 Q&A 谢谢! “架构师之路”公众号 58集团技术专场 58集团技术专场 抽奖环节 关注58集团技术公众号0 码力 | 42 页 | 1.52 MB | 1 年前3
领域驱动设计&中台/如何让DDD落地���DDD�� 和坚 AGENDA 01 为什什么DDD落地难 02 从需求到代码 03 当需求发⽣生变化时 04 把⼤大象塞进冰箱 01 为什什么DDD难落地 从2003年年由Eric Evans提出DDD以后,在软件开发领域⼀一直 都是雷雷声⼤大,⾬雨点⼩小。这⼏几年年之所以开始⽕火起来,主要的功 劳也要给队友“微服务”,那么这是为什什么呢? DDD的⽬目标是什什么 软件设计的⻔门槛是什什么 技术组长 架构师 系统分析师 如何从需求到DDD? 我想要⼀一个电商 平台,我可以在 上⾯面卖东⻄西 ? Event Storming⾥里里缺少了了什什么信息 提交订单的时候 要做什什么检查? 如何添加商品? ⽀支付订单的时候和 ⽀支付宝对接的逻辑 是什什么样的? 魔⻤鬼隐藏在细节之中 今天既然是讲落地,那么就从⼀一个实际需求出发,我们看看 如何把需求拆解成⽤用户故事,然后如何把⽤用户故事转变成领 户故事转变成领 域故事,最后领域故事⼜又如何变成为代码。 02 从需求到代码 京⻄西商城的需求 ‣ 产品运营⼈人员可以添加新的商品,编辑产品库存,并发布到京⻄西商城,⽤用户 可以进⾏行行购买; ‣ 京⻄西商城的买家可以查看产品可购买的库存数量量,并⽣生成购买订单,买家可 以撤单,查看订单的状态,对订单进⾏行行⽀支付(⽀支付宝)。⽀支付成功后,仓储 管理理员会收到出库请求,进⾏行行配货并发货。同时,买家可以查看物流状态以0 码力 | 32 页 | 3.25 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化五、政务服务系统架构小结与思考 4、一个特殊的移动政务应用项目 3 资源少:初期团队人员少、 业务推动阻力大 1 时间紧: 1月启动,5月上线 2 目标高:高频便民服务、 突出改革亮点,迎接大领 导视察 4 需求多:公积金、社 保、出入境、交管等, 服务很多,需要梳理 目录 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 三、政务服务小程序平台研发过程 四、政务服务小程序平台架构演化 功能灵活多样方面更具优势。 6、探索需求 -- 分析可行性,选取合适的需求场景 什么需求适合进入第1版本? 1.服务对接方式:提供API接口,而非H5页面 2.认证方式:基于后台API方式,而非要求用户再次输入 3.服务类型:属于查询、办理类,而非资讯信息、办事指南 4.服务具有便民、高频特征 帅选出第1版本要接入的百项高频便民事项 典型需求梳理场景 - 残疾人服务事项分析 7、 etcd是一个分布式的 、一致的key-value存储,主要用途是共享配置和服务发现。Etcd已经在很多分布式系统中得 到广泛的使用。Etcd采用raft协议,来保证一致性。 2.后台服务采用Go开发,围绕业务功能需求,构建后台服务模块 包括个人中心、服务、待办服务、证照服务、公共服务、外部能力、业务办理服务和运营管理服务模块 12、系统部署架构反复评审论证 一、部署架构 1、政务云电子政务外网 :数据库、应用服务0 码力 | 35 页 | 15.60 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔故障抽象,提炼统⼀一模型 • 延时模型、超时模型、异常模型、⾃自定义代码模型 • 基于模型实现应⽤用故障、中间件故障模拟,实时对应⽤用程序进⾏行行 字节码插桩、拆桩 简洁易易操作后台 • 可视化UI,参数、配置下发,快速实现故障注⼊入 • 丰富的故障模块管理理功能 Exception Model Timeout Model Latency Model Agent Listener0 码力 | 26 页 | 18.67 MB | 1 年前3
陈辉-架构师的业务思维跳出技术思维 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE I 流量承接 主播互动 商场促销活动 玩法承接 不断的优化和迭代 试错远远大于成功 新需求频繁 组件化 规则配置化 流程编排 玩法天生就是一个不断试错的业务 组件化+数据监控+业务复盘 数据跟踪和定量跟踪 跳出技术思维 需要的快速试错并拿到结果的能力 理解清楚当前需求 具有业务前瞻性 不要过度设计 渠道下单 渠道计价 渠道详情页 If else 业务上会有更多类似玩法 If else不能解决本质问题 多平台、多渠道是个趋势 跳出技术思维 多渠道的本质是商品交易体系的扩展性 理解清楚当前需求 具有业务前瞻性 不要过度设计 多渠道 多平台 多用户 模块化 SPI 规则引擎 流程引擎 商品平台化 交易平台化 促销平台化 渠道下单 无结构化商品 多平台玩法 多端适配和开发组件 架构师的工作职责 打造一个稍稍跑在业务前面的架构 架构先行 补充一点~ 站在业务方的视角,在理解业务发展目标、看清业务发展方向的前提下,做出技术和业务的平衡 跳出技术思维 理解清楚当前需求 具有业务前瞻性 不要过度设计 回顾一下0 码力 | 32 页 | 3.18 MB | 1 年前3
共 18 条
- 1
- 2













