领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进
化繁为简 DDD驱动复杂业务软件架构的演进 广联达科技 白彦磊 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 全过程、全流程、一站式平台 产品特点 业务复杂 多专业领域 BIM全过程流转 人机交互频繁 产品规模大 350万+代码行 150+人团队 DDD在研发中落地 统一语言 需求实例化 持续集成 接口测试 DDD落地与研发融合 架构演进驱动产品与研发 • 降低了整体业务的耦合,各业务独立演化; • 简化了集成关系,降低了集成成本,实现各业务的独立发布; • 驱动组织按领域边界拆分了7~9个特性团队,实现并行研发; 限界上下文的拆分 + 领域模型+ 接口设计/测试 • 支撑产品转型,快速实现业务服务化; • 提升业务逻辑的可复用性,新业务快速扩展0 码力 | 33 页 | 1.25 MB | 1 年前3领域驱动设计&中台/基于DDD的领域建模中的模版和工具实践
0 码力 | 36 页 | 3.81 MB | 1 年前3声明式自愈系统——高可用分布式系统的设计之道-王昕
王昕,阿里中间件技术团队高级技术专家,阿里云开放云平台布道师。具有10多年软件 系统开发和架构经验,在分布式系统领域经验丰富,长期参与高可用中间件系统、云平 台基础管理系统和云原生自动运维系统的构建。在国内外有10多项授权和在审软件技术 发明专利,并多次受邀出席技术会议,做技术专题分享。 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 •Something good will eventually happen •e.g. is able to receive message 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 Ø 高可用系统的最佳实践总结 依据声明式自愈的理念设计系统 有一个统一的状 态持久化接口, 所有有状态模块 通过统一的接口 对应统一的对象 如何设计好状态机和自愈协议? Writing Correct Software Is Hard! Math and Thinking Can Help Us! Ø TLA+ 是用来给(软件或硬件)系统建模的语言 Ø TLA+ 强调排除特定编程语言(软件或硬件)的影响验证系 统设计 Ø TLA+ 由 Paxos 协议的发明人 Leslie Lamport 发明 使用 TLA+ 定义和验证系统设计 Why TLA+0 码力 | 44 页 | 2.47 MB | 1 年前3全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash
量子算法和软件研究 • 吕定顺博士,目前就职于华为2012实验室中 央研究院,毕业于清华大学交叉信息研究院 量子物理学专业,至今在量子计算、量子模 拟领域等已经有7年研究经验。博士期间,曾 在 Nature Physics,PRX,Nature Communication,PRL,PRA 等国际知名期刊 发表论文7篇,H index为7,论文累计引用 480次。目前专精并聚焦在量子软件和算法研 究领域。 Fermion 升级 HiQ Framework 升级 HiQ Simulator 提供丰富 Ansatzes 选项 兼容多种常用化学 软件 Drivers 实现 VQE 业界最 大规模分子模拟 包含丰富的控制脉 冲库 兼容业界多款优化 控制软件 运行速度数倍加速 合作高校实验平台 演示 全新设计IDE界面 上线Block UI编 程模式 推出 mapper功 能 开放 HiQ 发的一套软件包。它包括数据结构和工具用以获取和操作费米子哈密 顿量、并将之转化为量子-经典混合架构可以实现的量子态制备、演化 和测量、以及优化参数更新等全套工具。HiQ Fermion 可以在华为云 上提供一站式量子化学模拟解决方案。 1.全面的初态 Ansatz 函数库,包括 UCC、Hardware Efficient, Qubit CC 等 2.兼容多种常见的经典量子化学软件如 Gaussian,NWChem,PySCF0 码力 | 34 页 | 5.57 MB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
从0到1,移动政务服务小程序系统架构演化 Dolphin 刘道平 数字广东/粤省事产品中心 系统架构师 Dolphin 刘道平 • 毕业于华南理工大学 软件工程硕士 • 2001年开始从事软件研发工作,参与过税务、电信、银行、 基金、海关等多个行业大型业务系统的研发 • 有高级程序员、PMP、ScrumMaster证书 • TGO广州会员 简介 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 人脸识别登录为主 • 依托公安部门互联网可信身份认证体系 • 用户登录后,业务系统不再要求用户登录 9、前端开发 -- 封装公共组件 ,磨刀不误砍柴工 1、封装DGD-SDK公共组件 2、合包工具 3、Taro框架预研 10、API网关 – 限流保护已有系统、提升访问安全性 • 1.业务应用A 向网关申请接入,网关分配paasid、token给业务应用; • 2.业务应用A 使用pa 2、政务云互联网区:静态资源、网关 3、互联网区:小程序、云服务 二、安全防护 1、仅开放指定端口 80 443 2、域名须有HTTPS证书 3、白名单 13、安全渗透测试、运维监控 -- 确保系统稳定 一、业务应用上线前必须经过安全渗透测试。 1、在测试环境中扫描出:越权查询、SQL注入、明文传输等,要求整改 2、正式环境检查: 操作系统、数据库、中间件漏洞,建议打补丁 二、运维监控每日 1.采用ELK收集系统日志、监控异常信息0 码力 | 35 页 | 15.60 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
���������� ThoughtWorks ⾸首席咨询师 姚安峰 关于讲师 ThoughtWorks⾸首席咨询师。从事精益、敏敏捷等软件 产品研发⽅方法的践⾏行行与推⼴广,对从业务探索、产品与 服务设计、演进式架构、敏敏捷开发、持续交付、数据 运营等端到端数字化业务的⽅方法与实践及其规模化应 ⽤用有深⼊入研究和丰富实践经验。 ⽬目前致⼒力力于帮助各⾏行行业客户实现数字化转型,建⽴立数 落地优秀实践,守护架构,降低微服务 研发学习成本 企业研发⼯工具链⽣生态 敏敏捷协作平台 部署发布 平台 持续交付流⽔水线平台 ⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架 构 设计 统⼀一协作平台 研发⼯工具连 为某企业做的微服务平台规划 部署架构设计 服务 约束条件 可视化设计 服务地图 关联变更更到需求 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/0 码力 | 42 页 | 2.95 MB | 1 年前3领域驱动设计&中台/可视化的遗留系统微服务改造
CONTENTS 01 引⾔言 02 可视化的认识遗留留系统 03 可视化的划分遗留留系统 04 可视化的拆解遗留留系统 引⾔言 遗留留系统、微服务架构 任何⼈人类的设计都会腐化 软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 领域驱动设计 ‣领域驱动设计是⼀一种处理理⾼高度复杂域的设 计思想,试图分离技术实现的复杂性, 围 绕业务概念构建领域模型来控制业务的复 杂性,以解决软件难以理理解,难以演化等 问题。团队应⽤用它可以成功地开发复杂业 务软件系统,使系统在增⼤大时仍然保持敏敏 捷。 事件⻛风暴暴⼯工作坊 - Event Storming是⼀一种领域建模的实践,是⼀一种快速 探索复杂业务领域的⽅方法: 并能快速发 现Aggregate和 Bounded Context ‣Easy:标记都很简单,没有复杂的UML ‣Fun 简介 ‣正确的⼈人:业务⼈人员,领域专家,技术 ⼈人员,架构师,测试⼈人员等关键⻆角⾊色都 要参与其中 ‣开放空间:有⾜足够的空间可以将事件流 可视化,让⼈人们可以交互讨论 ‣彩⾊色即时贴:⾄至少三种颜⾊色 活动准备 寻找领域事件 事件⻛风暴暴 命令⻛风暴暴0 码力 | 54 页 | 3.85 MB | 1 年前3联想-贺钢架构工作在国际化项目中的应用实例
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- 不同的开发团队按不同的计划在开发 登录设计方案 Quick Breather 对架构设计的影响V -- 安全要求对架构的影响 • 软件安全趋势 • 针对国际化公司的安全威胁 LSDL 安全设计 安全设计 服务器安全 -- Penetration Testing(渗透测试) • Step 1: Reconnaissance • Step 2: Scanning • Step 端到端的安全设计I 端到端的安全设计II 端到端的安全设计III 端到端的安全设计IV 端到端的安全设计 • 只Admin可以写(避免提升权限) • 验证配置文件(如xml)的签名 • 专业工具扫描 总结 • 国际化项目的特点导致架构工作的不同 • 一些应用实例 一句话分享 • 不要用战术上的勤奋来弥补战略上的懒惰0 码力 | 53 页 | 2.36 MB | 1 年前3降级预案在同程艺龙的工程实践-王俊翔
Netflix开源的一款容错框架,支持多种降级熔断技术 资源隔离 断路路器器 降级操作 请求合并 请求缓存 实践过程中遇到的问题 • 业务改造成本⾼高,代码耦合,维护成本增⾼高 • 固化策略略,需线下修改代码,测试,发布,线上应急策略略响应不不 友好 • ⽆无法⽀支撑多系统的复合指标计算,业务降级⽀支持不不友好 • ⼤大量量应⽤用各⾃自实现降级熔断,代码散落在各应⽤用,没有统⼀一的管 理理和治理理。久 源隔 离、延迟处理理 • 策略略灵活调整,实时监控策略略运⾏行行状态 应⽤用 / 服务 降级代码管理理 • 线上代码开发、测试、发布 • 降级代码统⼀一管理理 • 脚本代码动态编译,对象管理理 业务保障平台应 SDK 线下开发 策略略配置 测试 发布 WEB IDE 线上开发 降级⽅方法使⽤用 Git 降级代码 线下代码管理理 脚本 降级服务如何⾃自动探测恢复 根据链路路关系、同等级优先级进⾏行行预案编排, 形成降级执⾏行行链路路 • 线上实时预案测试、演练,演练数据回溯 业务不不断迭代,持续引⼊入新依赖,系统是否稳定可靠? 预案是否依然持续有效? 如何才能持续保障系统的⾼高可⽤用性? 故障演练 • 对预案进⾏行行有效性、合理理性验证 • 通过破坏性测试,发现系统的潜在故障,及时修正,并做好降级预防措施 • 参数修正,及时调整流控、降级策略略,优化告警、超时参数设置0 码力 | 26 页 | 18.67 MB | 1 年前3ServiceComb 开源微服务框架技术演进之路 巨震
ServiceComb 开源微服务框架技术演进之路 巨震 软件工程师,华为 • 服务形态演进 • 基于SDK的传统微服务框架 • 何为Service Mesh • 演进:从SDK到Service Mesh • 拥抱Service Mesh开源生态 • 相关资源 #微服务 #Service Mesh #Sidecar #云原生 #SDK #数据面,控制面 ServiceComb 服务注册中心 公众号 WebUI App Gateway ServiceComb SDK Mesher (华为商用及开源ServiceMesh方案) 业务面 性能测试 0 2000 4000 6000 8000 10000 12000 14000 QPS QPS 原生应用 Go SDK Sidecar Istio(no mixer) Istio org/ • ServiceComb混合部署示例项目 https://github.com/go-mesh/mesher-examples • Mesher性能测试 https://github.com/go-mesh/mesher-tools/tree/master/perf https://github.com/apache?q=ServiceComb0 码力 | 20 页 | 861.58 KB | 1 年前3
共 26 条
- 1
- 2
- 3