领域驱动设计&中台/架构分层模型适配架构腐化是系统开发过程中⾮非常头疼的事情。使⽤用DDD分层 架构参考实践,可以在系统初始设计的时候领域明确出来。 但问题是开发过程中不不知不不觉层次模糊,架构师有没有实践 能有效阻⽌止架构腐化? 分层模型适配 如何从⼀一盘散沙到百万雄师 百万雄师的铸造秘密 — 踢正步 叠被⼦子 知⾏行行合⼀一 每个⼈人⽇日常就能做到 在⽇日常最细微处抵抗懒散腐化 坚持塑造纪律律 DDD分层架构 不不同模型适配(名词) 分解的业务概念 存储模型: 性能最优化 HTTP字符⽂文本 Json 视图对象 ⼀一个⽤用户请求⼀一个视图对象 多个固定的业务概念表达业务规则 SQL: ⽆无冗余字段设计, 主外键关联 NoSQL: 冗余字段设计,⽆无Schema宽列列 DDD分层架构治理理 前端应⽤用 API服务 业务领域 基础设施 名词翻译映射 View Object HTTP字符⽂文本 Json0 码力 | 39 页 | 2.54 MB | 1 年前3
陈辉-架构师的业务思维I 流量承接 主播互动 商场促销活动 玩法承接 不断的优化和迭代 试错远远大于成功 新需求频繁 组件化 规则配置化 流程编排 玩法天生就是一个不断试错的业务 组件化+数据监控+业务复盘 数据跟踪和定量跟踪 跳出技术思维 需要的快速试错并拿到结果的能力 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE II 让时间回到2016年 电商平台 促销玩法 多渠道的本质是商品交易体系的扩展性 理解清楚当前需求 具有业务前瞻性 不要过度设计 多渠道 多平台 多用户 模块化 SPI 规则引擎 流程引擎 商品平台化 交易平台化 促销平台化 渠道下单 无结构化商品 多平台玩法 多端适配和开发组件 组件池 怎么去实践 走到业务一线去 找对评判标准-比如客户价值 权衡技术和业务 看远一点,做实际点 再来个case 样衣管理系统 产品0 码力 | 32 页 | 3.18 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 应用无感知 无需修改应用代码,单元测试代码中也无需添加任何的mock语句。 服务 调用 Invoker … Remote Call 负载均衡 策略 Runtime Mock数据文件 远程服务 Consumer Consumer 服务实现 服务实现 Accepter Filter Chain Filter1 线上数据 抓取过滤器 FilterN 抓取配置: 是否开启 抓取时长 抓取数量 落 盘 … … 导出 Mock文件A Mock文件B Mock文件C 应用服务直连调测 服务容器(Provider) 调用者 服务容器 提供者A 服务容器 服务注册中心 服务列表 ……0 码力 | 19 页 | 2.74 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化cn/kxyj/qwfb/ztbg/201804/t20180426_158502.htm 2、政务服务微信公众号的现状 优势: 1.各省市政务提供的政务服务公众号,方便了用户查询、办理政务业务 服务。 2.用户无需额外下载安装,即可使用微信公众号进入政务服务。 问题: 1.各厅局委办的公众号之间不能实现账号互信,用户需要记住不同业务 系统的账号密码才能访问。 2.公众号采用H5技术,用户办理过程因加载时间长,导致用户体验不 下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 只需开发一套,组件丰富 每个端都得开发,标准化组件少 版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 APP消息,打扰多,用户遗漏概率大 拓展性 程序包小,可以关联调转 无大小限制,调转较难 智能化服务能力 微信自带组件,对接更容易 需根据场景单独对接,如人脸识别、支付等 产品自主性 需依托微信平台 项目建设,考虑的维度有:需求-产品-前后端开发-测试-上线… 2.产品研发,需考虑的维度:产品可扩展,如多端支持(小程序端、APP端、一体机端); 功能可扩展,如支持个人中心、证照、办事、资讯、特色专区等;可移植、易安装等; 及衍生的支撑工具系统,如运营数据分析; 产品视角 目录 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 三、政务服务小程序平台研发过程 四、政务服务小程序平台架构演化0 码力 | 35 页 | 15.60 MB | 1 年前3
唯品会调度系统的前世今生• 灵活的运维配置与部署 • 高效资源利用 • 简便的管理 人工指定 自动平衡 资源平衡调度算法 框架代码 与业务代 码隔离 集中化动 态增加与 删除作业 • 简化开发,避免冲突,业务无侵入 • 易于发布与维护 • 框架升级与业务脱离 框架与业务隔离 Shell作业 Java/消息作业 Saturn Executor PHP脚本 Python脚本 System.exec 推送独立开源版本 开源版本直接依赖 开源情况 2016年12月,我们己开源! https://github.com/vipshop/Saturn 90+ 400+ 310+ Star 安装 Issue 我们在Github上等你!! 瓜熟蒂落 基于开源版本打造自己的系统 ZK 执行结点 Job A Job B 作业调度器 控制台UI 监控系统 Logstash统 一日志0 码力 | 58 页 | 5.40 MB | 1 年前3
高可用分布式流数据存储设计-李玥减少锁:CAS原语 减少锁等待: 读写锁, 细粒度锁 写⼊入数据流程 IOThreads 接收请求 Requests Queue WriteThread 处理理 FlushThread 刷盘 ReplicationThread 发送复制请求 IOThreads 收到复制响应 Pending Callbacks ResponseThreads 发送响应 Journal Cache0 码力 | 36 页 | 6.02 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊+ MDM思想 • 生产与应用独立建模 快速起量,系统质量、研发效率问题凸显 运营侧应用 • 提供搜索、权限、审批解决方案,保证扩展性 规模化阶段:可用性建设 研发高压线、月度Case复盘、CaseStudy 故障演练 规避能力 解决能力 线上故障处理SOP 上线规范、扩容流程、重构流程、CR流程 周巡检/日巡检制度 诊断能力 预防能力 流程建设 系统建设 故障管理平台0 码力 | 31 页 | 15.26 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践• 两阶段提交XA——中间件DDB • TCC——中间件 Dubbo + DTS • Try 预留 + Confirm 提交 + Cancel 还预留 • Try 操作 + Confirm 无操作 + Cancel 补偿 • 事务消息——中间件 TMC 网易分布式事务的实现机制 www.163yun.com 事务发起者、事务参与方 分支事务用事务id做幂等 交易消息 www.163yun.com 某制造企业 • 大量遗留应用,多种语言开发 • 服务间直接调用,依赖混乱 • 调用记录无迹可寻 • 环境与接口规范缺失,维护困难 • 安全靠白名单各自为战 • 调用统计与分析无从谈起 • 无服务治理能力,或各自造轮子 www.163yun.com API网关 37 • API网关带来的能力 - 请求透明代理与路由0 码力 | 39 页 | 3.06 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn) 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写 • 更更友好的控制并发 维护性 和 性能 更更优! 优雅控制 processors.flatMap(processor map(Result::getData) .reduce(0, (acc, data) -> acc + data); 流 - 性能 全异步、流式 CPU数个业务线程 更更少的上下⽂文切换、更更少(⽆无)的竞争、更更低的LOAD 业务等效依赖的异步并发 更更⾼高效的资源利利⽤用率 Universal Scalability Law 系统流⽔水线并⾏行行处理理 流 - 分布式 � ) ��0 码力 | 27 页 | 1.13 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+zabbix,datagod, prometheus… apm工具,商业产品 期望更轻量、无侵入性的业务监控 cat,elk,zipkin等 趋于个性 具有共性 中间件/缓存/数据库/代理/MQ... OS/网络/存储/防火墙... 应用/框架/业务逻辑/系统间调用 自研日志监控[轻量无侵入] Kafka Kafka Spout 策略 Cache 系统配置 预处理bolts0 码力 | 42 页 | 19.96 MB | 1 年前3
共 17 条
- 1
- 2













