领域驱动设计&中台/微服务的容器化实践
0 码力 | 19 页 | 1.86 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
产品研发⽅方法的践⾏行行与推⼴广,对从业务探索、产品与 服务设计、演进式架构、敏敏捷开发、持续交付、数据 运营等端到端数字化业务的⽅方法与实践及其规模化应 ⽤用有深⼊入研究和丰富实践经验。 ⽬目前致⼒力力于帮助各⾏行行业客户实现数字化转型,建⽴立数 字时代的精益研发体系,提升规模化创新能⼒力力。近两 年年来,研究的重点放在数字化业务管理理的组织治理理与 动态投资组合管理理,最⼤大化投资成效。 2016年年翻译出版了了著作《精益企业》。 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 部分 产品、⼈人 员维护 定义通⽤用 约束条件 定义服务 约束条件 可视化设计 服务地图 关联变更更到需求 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计 测试环境 部署架构设计 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统 列列表 团队⼈人员⾓角⾊色 权限维护 外部系统维护 架构约束定 义维护 部署元素维护 代码引入ArchUnit/ log格式入⼿手 框架管理理 代码模版⽣生成 引擎 GIT插件通信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降级预案在同程艺龙的工程实践-王俊翔
降级预案在同程艺⻰龙的⼯工程实践 演讲者 / 王俊翔 同程艺龙 ⾃自我介绍 搜索故障 微信⼩小程序 API⽹网关 资源1 搜索引擎 统⼀一资源⽹网关 资源2 资源3 资源4 …… 资源4 ⼤大量量超时 统⼀一资源⽹网关 搜索引擎 API⽹网关 ⼤大量量请求超时 缺乏熔断设计 交易易故障 第三⽅方⽀支付 ⽀支付中⼼心 ⽀支付回写 消息队列列 ⽀支付通知 交易易中台 服务管理理 策略略管理理 预案制定 线上演练 • 降级服务统⼀一注册管理理,通过降 级服务质量量数据从整体反映各应 ⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 分级预案,对降级点进⾏行行预案编 排,并跟踪监控降级链路路的执⾏行行 • 发现潜在故障,多维度验证预案 有效性,评估系统可靠性,提供 指标聚合查询 熔断降级计算(Flink) ⽇日志中⼼心 KAFKA 数据采集、计算、存储 指标(HBase) 指标明细(ES) 降级⽇日志(ES) ETL 指标计算(Flink) 脚本引擎 查 询 服 务 ⽇日志数据 指标(Redis) 业务异常数据快照(ES) 熔断降级通知 降级服务管理理 故障代码注⼊入 降级服务注册设计 serviceA serviceB0 码力 | 26 页 | 18.67 MB | 1 年前3美团点评旅游推荐系统的演进
•有啊商城的开发 •2010年毕业于中科院计算所 Outline •美团点评酒旅业务简介 •基于用户画像的召回策略演进 •基于L2R的排序策略优化 •从海量大数据的离线计算到高并发在线服务的推荐引擎架构设计 •推荐在美团点评酒旅的应用实践 人工智能应用 Critical Physical World Critical Digital World Non-Critical Digital 确,频道内超过50%订单来 自推荐 需求个性化 推荐形式多样 本异地差异大 季节性明显 旅游推荐面临的问题 本异地差异大 超过30%订单来自异地请求 常驻城市!=浏览城市 推荐形式多样 景点下有大量相似门票,不适合 按Deal样式展现 跟团游、景酒套餐关联多个景点 ,不适合按POI样式展现 季节性明显 冬季温泉订单占比超过20%, 而夏季不到7% 需求个性化 用户人群 时间地域场景 •特征 •注册城市 •注册手机号 •手机定位城市 •浏览城市 •消费城市:团购、电影、外卖 •接受短信手机号 用户历史行为强相关策略 •热销策略能区分本异地用户差异 •不能对具体用户个性化推荐 •用户一个月内浏览、收藏的 POI/Deal •越实时权重越高 POI/Deal View POI/Deal Collect Kafka POI/Deal View/Collect Bolt0 码力 | 49 页 | 5.97 MB | 1 年前3分布式 KV 存储系统 Cellar 演进之路
对照表 Cellar起源—Tair架构 服务层 请求 mdb 响应 ldb fdb rdb 引擎层 迁移 复制 • 中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 开源 Tair • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 请求超时抖动 Cellar—服务可用性提升 Cellar—无损数据迁移 数据迁移的问题 • 迁移速度不可控,易影响业务请求 • 路由表更新瞬间请求失败 • key级别迁移写入,引擎压力大 节点状态指标 • 引擎压力 • 网卡 • 队列 • QPS • ··· Cellar—无损数据迁移 智能调速+全程代理 A节点 B节点 桶2 桶1 客户端 桶4 桶4 桶1 桶3 迁移数据 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 系统研发 • 异地多活 • 跨机房自动容灾 • 磁盘粒度容灾 • 数据迁移优化 可运维性 • 容器化 • 自动扩缩容 Cellar规划 谢谢0 码力 | 34 页 | 1.66 MB | 1 年前3陈辉-架构师的业务思维
具有业务前瞻性 不要过度设计 怎么运用?CASE I 流量承接 主播互动 商场促销活动 玩法承接 不断的优化和迭代 试错远远大于成功 新需求频繁 组件化 规则配置化 流程编排 玩法天生就是一个不断试错的业务 组件化+数据监控+业务复盘 数据跟踪和定量跟踪 跳出技术思维 需要的快速试错并拿到结果的能力 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE 多平台、多渠道是个趋势 跳出技术思维 多渠道的本质是商品交易体系的扩展性 理解清楚当前需求 具有业务前瞻性 不要过度设计 多渠道 多平台 多用户 模块化 SPI 规则引擎 流程引擎 商品平台化 交易平台化 促销平台化 渠道下单 无结构化商品 多平台玩法 多端适配和开发组件 组件池 怎么去实践 走到业务一线去 找对评判标准-比如客户价值 权衡技术和业务 看远一点,做实际点 再来个case0 码力 | 32 页 | 3.18 MB | 1 年前3高性能高可用机票实时搜索系统
⾼性能⾼可⽤机票实时搜索系统 去哪⼉⺴ 梁启康 议题 系统诉求 海海量量数据 设计思路路 搜索框架 报价引擎 待解问题 系统诉求 • 全⽹网价最低 • 航线报价最全 • 实时性最好 • 产品最丰富 • 预定最流畅 ⾯面临问题 航班舱位时刻变动 供应商规则调整密集 航司政策各有不不同 供应商的office权限不不⼀一致 运价规则变化繁多 GDS数据成本不不菲 响应所有渠道价格变动进⾏行行计算 • 快 • 0 变价 设计思路路 CAP BASE 理理论 按需计算 消息驱动 异步 分布式 分级缓存 ⽆无状态 搜索框架 PriceMerger 报价引擎 供应商直连 旗舰店 CacheManager 抓取 App WWW Touch 分销 Cache Redis MQ MQ 航班数据 运价数据 应⽤用层 聚合层 报价源 基础数据 尽量量⽤用原⽣生数据类型,编码 • 回数⽐比例例,异步搜索更更新 • 分批回数 • ⼀一致性哈希,负载均衡 • 供应商粒度,主动更更新 报价引擎 供应商规则 航司运价 航班舱位状态 套餐搭售 + + 低价特惠 商旅优选 头等舱 。。。 报价引擎—供应商规则 报价引擎 • 背景 • 供应商定价规则、航班舱 位、运价,决定底价 • 供应商数千,不不少供应商 上千万条规则 • 定价规则按供应商分库0 码力 | 26 页 | 1.94 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4