领域驱动设计&中台/微服务的容器化实践
0 码力 | 19 页 | 1.86 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
产品研发⽅方法的践⾏行行与推⼴广,对从业务探索、产品与 服务设计、演进式架构、敏敏捷开发、持续交付、数据 运营等端到端数字化业务的⽅方法与实践及其规模化应 ⽤用有深⼊入研究和丰富实践经验。 ⽬目前致⼒力力于帮助各⾏行行业客户实现数字化转型,建⽴立数 字时代的精益研发体系,提升规模化创新能⼒力力。近两 年年来,研究的重点放在数字化业务管理理的组织治理理与 动态投资组合管理理,最⼤大化投资成效。 2016年年翻译出版了了著作《精益企业》。 约束条件 可视化设计 服务地图 关联变更更到需求 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/ Function检查 代码质量量分析- 配置Sonar地址、展⽰示分析结果 数据结构分析- 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统 列列表 团队⼈人员⾓角⾊色 权限维护 外部系统维护 架构约束定 义维护0 码力 | 42 页 | 2.95 MB | 1 年前3演进式架构:数字化世界"进化论" 肖然
演进式架构:数字化世界"进化论" 肖然 架构到底什么? https://www.flickr.com/photos/swisscan/2308034084/ 耦合关系 ● Do one thing and do it well ● Write programs to work together ● Test early and often. Refactor. ●0 码力 | 22 页 | 2.14 MB | 1 年前3领域驱动设计&中台/可视化的遗留系统微服务改造
引⾔言 02 可视化的认识遗留留系统 03 可视化的划分遗留留系统 04 可视化的拆解遗留留系统 引⾔言 遗留留系统、微服务架构 任何⼈人类的设计都会腐化 软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 •基础设施⾃自动化 •基础设施⾃自动化 •容错设计 •演进式设计 可视化能帮我们什什么 掌握系统业务 明确系统边界 ⼩小步改造系统 可视化的认识遗留留系统 C4模型、⽤用户画像、⽤用户旅程 C4模型系统架构可视化 国家级 省级 道路路级 市级 C4模型系统架构可视化 系统上 下⽂文图 容器器图 代码图 组件图 已可视化 ⽤用户画像和旅程系统功能⽤用户可视化 ⽤用户画像 ⽤用户旅程 已可视化 突出⽤用户信息,诉求和价值体现 还原业务场景 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 好的设计 低耦合 如果做到了了服务之间的松耦 合,那么修改⼀一个服务就不不 需要修改另⼀一个服务。⼀一个 松耦合的服务应该尽可能少 地知道与之协作的那些服务 的信息。 ⾼高内聚 就是把相关的⾏行行为聚 集在⼀一起,把不不相关 的⾏行行为放在别处。如 果你要修改某个服务0 码力 | 54 页 | 3.85 MB | 1 年前3联想-贺钢架构工作在国际化项目中的应用实例
架构工作在国际化项目中 的应用实例 贺钢 2016-12-17 个人简介 • 深信服科技 • 腾讯 • 联想深圳中国开发实验室 前言 • 国际化项目的一些不同点导致架构工作的一些不同 • 应用实例体现这些不同点 广告 • 联想电脑管家(PC): guanjia.lenovo.com.cn 国际化项目的一些不同点 • 目标客户不同: 文化习俗, 客户需求, 用户体验… ”Sent time”:”2014-01-08”,”Sent to”:”Herman, Jack, Tom”} 对架构设计的影响III – 非技术性的相关工作 • 沟通 通常项目的组织形式 国际化项目开发阶段 沟通个人经验 • 用于沟通的时间 > 50% • 承认对方和自己一样聪明 对架构设计的影响IV – 登录设计 • 功能: 用户名密码登录 登录相关设计碰到的问题 • 安全关注: 两个不同的登录服务器:不同的访问地址,不同的接口,不同的功能 • 不同的开发团队按不同的计划在开发 登录设计方案 Quick Breather 对架构设计的影响V -- 安全要求对架构的影响 • 软件安全趋势 • 针对国际化公司的安全威胁 LSDL 安全设计 安全设计 服务器安全 -- Penetration Testing(渗透测试) • Step 1: Reconnaissance •0 码力 | 53 页 | 2.36 MB | 1 年前3领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进
CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 业务挑战与架构目标 建筑造型多样化,业务模 型复杂度越来越高 业务挑战 新业务基于现有业务进行 扩展,而应用场景及性能 要求不同,既复用又独立; 产品云+端转型,核心业 务逐步实现服务化,不同 业务演化路径不同 简化业务模型复杂度 架构演进目标 不同业务间解耦 各业务独立演化 单体架构 共享模型 分析业务用例 识别业务对象 子域拆分 • 业务流程 • 专业知识 建模子域 计算子域 登录与 授权子域 报表子域 指标子域 做法子域 限界上下文拆分 • 业务用例 • 功能\语义相关性 • 技术应用 • 团队规模 建模子域 构件模型上下 文 模型编辑上下 文 计算子域 报表子域 模型转换子域 做法子域 通用子域 汇总上下文 指标管理上 下文 三维模型转换 构建领域模型 架构分层 持久化层 领域层 CAD图纸管理 建模UI 通用UI组件 几何算法 通用框架机制 通用算法 CAD/BIM UI 图元绘制 显示层 应用层 CAD识别 BIM模型转换 模型编辑 批量操作 CAD模型 BIM模型 模型数据库 gcad文件 gfc文件 数据库 算量模型持久化 CAD模型持久化 BIM模型持久化 …... 构件模型0 码力 | 33 页 | 1.25 MB | 1 年前3领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践
资源利利⽤用率 应⽤用本身的解决⽅方案? 并⾏行行度有限 • ⽆无法纯业务依赖并发 • 微服务化让问题更更凸 显 • RT 累积 RT 与 ⽤用户增⻓长 RT 累积带来成本 • 过早引⼊入 cache • 每个服务都在设置超 时 维护成本、业务实现复 杂化 天⽣生异步的架构 流 Stream / Flow / Flux 什什么是流 • ⼀一个流是顺序串串⾏行行执⾏行行的 Scheduler是指: • 远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn) 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写 • 更更友好的控制并发 维护性 和 性能 ��A� 流引⽤用可被远程化 系统级的流式贯通 架构治理理能⼒力力加强: • 回压 • 三⻆角模式透传 • 业务快速截⾯面创新 • … 流的概念分层 业务编程框架(⾯面向业务) • 核⼼心概念:流 • 业务涉及的⼤大量量/强⼤大操作 • 流程编排、全异步化 规范(⾯面向系统底层) • 核⼼心:4个接⼝口 + 7个⽅方法 • 远程化、业务框架对接规范 •0 码力 | 27 页 | 1.13 MB | 1 年前3微服务和Service Mesh 在多个行业落地实践
www.163yun.com 阶段一:单体架构群,多个开发组,统一运维组 www.163yun.com 阶段二:组织服务化,架构SOA化,基础设施云化 www.163yun.com 阶段三:组织DevOps化,架构微服务化,基础设施容器化 www.163yun.com Hailo Amazon Netflix 来源: https://www.linkedin bric-ben-spencer/ Kaola 微服务成为互联网化架构的典型特征 www.163yun.com 微服务化设计要点 www.163yun.com 设计要点一:持续集成 www.163yun.com 设计要点二:接入层设计 www.163yun.com 设计要点三:无状态化 www.163yun.com 设计要点四:服务拆分与服务发现 设计要点六:缓存的设计 APP缓存 CDN 接入层 静态资源 动态资源静态化 应用本地缓存 分布式缓存 数据库为中心 缓存为中心 www.163yun.com 设计要点七:消息队列与异步化 www.163yun.com 设计要点八:熔断,限流,降级 www.163yun.com 设计要点九:配置中心0 码力 | 39 页 | 3.06 MB | 1 年前3QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+
2017 财富管理平台 网贷平台 YEP 业务� 多元化发展� [部分] 网贷平台 财富管理平台 YEP 第二部分 移动后台架构演进 初创阶段 效率优先,快速响应,第一要务是生存 成长阶段 用户和业务持续上量,业务快速发展 扩张阶段 业务和团队规模增长迅速,多元化发展,对效率和质量提出更高要求 没有一种� 架构能� 包打天下 借款流程 Cache集群 安全加密 网贷服务 CDN 支付结算 订单 DB从 批 处 理 系 统 活动 DB主 DB从 版本管理 产品 ... 同步 …... 网站、基础服务 移动后台 业务和团队规模迅速扩张 粗粒度服务化,基础设施完善 CDN/页面缓存/静态站/缓存集群 移动后台旁路 流程double,冗余开始出现 移动后台单体 继续成长,瓶颈明显 熔断 限流 版本 更多... 标签 用户 管理平台 产品 理财单 渠道 版本 5G 措施:剥组件,拆单体,合冗余 移动后台打散 轻业务上浮 重业务下沉 API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制0 码力 | 42 页 | 19.96 MB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
2、下载APP成为负担 政务APP盲目开发泛滥,用户为了办事需要下载多个APP,成为一种负担。 3、优化不足体验差 政务APP接入政务服务,没有结合移动端的访问特性进行移动化改造,用户体验差。 4、缺少持续运营: 政务APP运营维护乏力,版本迭代缓慢,存在大量僵尸应用。 资料来源 CAICT中国信息通信研究院《政务服务APP发展情况研究报告》,2017.12 http://www.caict.ac. 下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 只需开发一套,组件丰富 每个端都得开发,标准化组件少 版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 APP消息,打扰多,用户遗漏概率大 拓展性 程序包小,可以关联调转 无大小限制,调转较难 智能化服务能力 微信自带组件,对接更容易 需根据场景单独对接,如人脸识别、支付等 产品自主性 需依托微信平台 面更具优势。 6、探索需求 -- 分析可行性,选取合适的需求场景 什么需求适合进入第1版本? 1.服务对接方式:提供API接口,而非H5页面 2.认证方式:基于后台API方式,而非要求用户再次输入 3.服务类型:属于查询、办理类,而非资讯信息、办事指南 4.服务具有便民、高频特征 帅选出第1版本要接入的百项高频便民事项 典型需求梳理场景 - 残疾人服务事项分析 7、产品设计—淬取政务服务信息要素、以用户为中心的展示0 码力 | 35 页 | 15.60 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4