领域驱动设计&中台/演进式架构的平台化落地服务⽰示例例 ⽇日志 问题定 位分析 调⽤用链可 视化 ⽣生成 流⽔水 线 对接流⽔水线执 ⾏行行部署 分享 契约 应⽤用架构变更更 评审 关联变更更到需求 需求 查看需求 我的任务 对接外部 系统 前台 后台/⽀支持 为MVP包含的功能范围 服务地图 产品服务 ⽤用户 产品 容器器 云 PaaS ELK 监控 发布 平台 运维服务 服务实例例 资源池 •多架构⻛风格⽀支持(分层、DDD、 整洁等) •⾃自动⽣生成服务代码与配置 34 服务地图 数据库演进 与版本化管理理 •数据库引⼊入Flyway等 •⾃自动⽣生成初始脚本库 •⾃自动化变更更DB 35 契约 • 契约定义(依赖、集成关系) • 契约变更更评审 • 契约变更更历史记录 • ⽀支持契约测试 架构演进守护 架构演进守护- 从契约反向识别实现与模型差异 架构演进守护- Atomic Fitness Function检查 领域演进守护- DDD领域模型演进 架构演进守护- 从契约反向识别实现与模型差异 采⽤用CD部署流⽔水线 ⾃自动化Fitness Functions commit/ unit test 01001001010101 01010101010101 00101010010010 00100100010001 functional0 码力 | 42 页 | 2.95 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 •基础设施⾃自动化 •容错设计 •演进式设计 可视化能帮我们什什么 掌握系统业务 明确系统边界 ⼩小步改造系统 可视化的认识遗留留系统 C4模型、⽤用户画像、⽤用户旅程 C4模型系统架构可视化 国家级 明确最终软件系统会有哪些功能给 外界使⽤用。命令和事件将会在后续 的环节中指导API的设计。 1. 将命令写在蓝⾊色即时贴上,可以是 • ⽤用户从UI界⾯面进⾏行行的操作 • 外部系统触发 • 定时任务 2. 将命令贴在所产⽣生的事件旁边; 3. 有的命令可能产⽣生多个事件,将它 们连接; 4. 在这个过程中可以识别出触发命令 的外部系统(粉⾊色即时贴)、persona (⻩黄⾊色即时贴)并进⾏行行表示; 第⼆二式: 1. 在现存订单模块中添加新的 ⽅方法,提供给⽤用户模块使⽤用, 删除⽤用户模块直接使⽤用订单 模块的数据表 2. 对⽤用户模块和商品模块做同 样的事情 3. 需要在改动点添加⾃自动化测 试保证功能正确 4. 将数据库的join推到代码应⽤用 层⾯面,势必会⽐比原来慢,需 要关注性能问题。考虑添加 缓存,数据库索引,甚⾄至调 整服务划分来解决 降⻰龙⼋八步第三式 ⽤用户0 码力 | 54 页 | 3.85 MB | 1 年前3
领域驱动设计&中台/用状态机封装领域逻辑Subdomain?主题图。 测试 答对问题有奖金 金额从2.56元到20.48元 请扫我微信以便当场转账 加微信时烦告知尊姓大名 作用 学校里经常教的 编译原理 电子设计自动化 通信协议 …… 作用 三个不同的图 图形 视角 映射到实现 类图 全局、静态 类的签名 序列图 局部(用例)、动态 类之间的协作 状态机图 类、动态 所有的逻辑 测试 答对问题有奖金0 码力 | 30 页 | 1.75 MB | 1 年前3
海量用户推送后台系统架构实践-曾振波RocketMQ • JCache - Redis, LevelDB(PIKA) 极光推送后台系统架构 06 链接管理 • 量级大,网络复杂,DDOS攻击 • 动态管理 • 就近接入 • 自动化管理接入网关 • 自动扩容,应对网络攻击 极光推送后台系统架构 07 极光推送后台系统架构 SDK 管理中心 健康检测服务 Conn B 调度中心 Conn A Conn C 极光推送后台系统架构0 码力 | 23 页 | 1.26 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 计算平台 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 并行计算 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 计算平台 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关0 码力 | 31 页 | 15.26 MB | 1 年前3
唯品会调度系统的前世今生Crontab Quartz Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 关注点在定时任务而非数据, 缺少分布式并行调度的功能 阿里早期开源的分布式任务调度系 统,代码略陈旧 作业类型较单一,只能是获取/处理 数据一种模式 当当开源的分布式任务调度系统 代码较新,使用Quartz进行调度。提供 代码较新,使用Quartz进行调度。提供 高可用和分布式功能 功能单一,只支持Java,不支持 Shell(PHP)和消息驱动的作业调度 对任务超时、任务执行情况、监控逻辑 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 AuthCenter 服务网关 Janus 安全管理平台 Salus 有女初张成 唯品会弹性调度系统的架构与功0 码力 | 58 页 | 5.40 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践get 设计 DESIGN 任务队列 dto dto dto JVM 工 作 线 程 工 作 线 程 工 作 线 程 工 作 线 程 工 作 线 程 服 务 服 务 服 务 服 务 服 务 JVM 工 作 线 程 工 作 线 程 工 作 线 程 工 作 线 程 工 作 线 程 服 务 服 务 服 务 服 务 服 务 任务队列 基于消息的分布式架构 路由成功 已撤销 定时器触发批扣打包 UI触发批扣打包 正在发送 第三方 失败 成功 三方已受理 部分成功 (批量交易) 订单失败 (网关交易) 接入网关 交易检查 服务路由 批量任务 通道适配 响应处理 交易检查成功 定时器触发批付打包 UI触发批付打包 有限状态机 FINITE STATE MACHINE BEST PRACTICE BEST PRACTICE 务增加带来的性能问题 10.尽量避免使用全局变量防止并发出现线程安全问题,从而影响业务 11.定时器问题预防 定时器浪打浪情况下,任务重复处理会导致资金风险,建议使用redis避免 定时器浪打浪情况下,启动多个定时器即默认启动多个线程,影响系统性能 定时器浪打浪情况下,如果定时任务处理过慢会导致内存耗尽 12.避免系统中出现单点故障,包括中间件和应用程序等所有的节点 13.能异步处理的别同步处理,0 码力 | 35 页 | 6.05 MB | 1 年前3
数字货币交易系统架构 Python实现 黄毅C++实现的Redis Module • 复用Redis本身的aof持久化和replication • 撮合结果直接输出到本地的redis stream(无需主动发送消息给其他服务) • 下游任务订阅redis stream $ redis-cli > ob.limit b{btc_usdt} * 10000 buy 1 10000 88181047656742912 交易系统架构设计-计算K线 在同一个事务中存储处理结果和更新消费offset $ redis-cli > xread block 60 count 100000 streams b{btc_usdt}o offset … 交易系统架构设计-异步任务 def read_events(redis, key, offset=0): while True: events = redis.execute('xread', 'block', timeout continue _, events = events[0] yield events offset = events[-1][0] 交易系统架构设计-异步任务 def task(pg, redis): offset = pg.fetch(‘select offset from task_offset’) for events in read_events(redis0 码力 | 24 页 | 799.65 KB | 1 年前3
从百度文件系统看大型分布式系统设计中的定式与创新分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu Stack 网络通信框架Sofa-pbrpc 分布式数据库 Tera 分布式计算框架 Shuttle Apps(Spider/Index/Search) 数据中心操作系统(DCOS) • 进程调度&内存管理 - Galaxy - 应用部署和任务调度 • 锁和信号量 - Nexus - 分布式锁 - 分布式通知 • 文件系统 - The Baidu File System - 持久化存储 百度文件系统架构 设计一个分布式系统要考虑的0 码力 | 24 页 | 937.45 KB | 1 年前3
联想-贺钢架构工作在国际化项目中的应用实例Test.txt 2849 2014-02-19 … 3 … 1 Show.ppt 138238 2014-08-09 … 碰到的问题 • 各类文档,程序的属性差别很大 • 采用的敏捷Scrum,任务随Sprint迭代 • 开发测试人员属于不同地域的不同部门,向不同的人汇报 后来使用的方案 ID ... Type … Content 1 … 1 {“File Name”:”1.doc”,”time”:”2014-02-0 码力 | 53 页 | 2.36 MB | 1 年前3
共 14 条
- 1
- 2













