陈辉-架构师的业务思维架构师的业务思维 陈 辉 (沉 辉) 蘑菇街 架构师 架构师三法宝 架构师的业务思维 陈 辉 (沉 辉) 蘑菇街架构师 • 蘑菇街 电商技术&基础平台负责人 • 13-15年 淘宝技术部 关于我 分享大纲 • 架构师的分类 • 什么是业务思维 • 如何运用业务思维影响架构设计 • 如何培养业务思维 架构师的分类 不是重新定义,而是对标 技术架构师 业务架构师 平台架构师 平台架构师 什么是架构师的业务思维? 场景 今年我们要落地中台架构 大中台,小前台? 中台架构是怎么样的? 是不是需要分层设计? 用什么系统去承载?需要什么框 架吗? 换个问法 今年我们要落地业务中台架构 用户基础服务 交易服务 商品服务 关系服务 广告服务 业务域A 业务域B 业务域C 业务域D 业务组件/中间件 电商业务 内容业务 直播业务 算法支撑 中间件 计算框架 计算框架 平台工具 云的能力 什么是架构师的业务思维? 站在业务方的视角,在理解业务发展目标、看清业务发展方向的前提下,做出技术和业务的平衡 站在业务方的视角,在理解业务发展目标、看清业务发展方向的前提下,做出技术和业务的平衡 跳出技术思维 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE I 流量承接 主播互动 商场促销活动 玩法承接 不断的优化和迭代 试错远远大于成功0 码力 | 32 页 | 3.18 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进化繁为简 DDD驱动复杂业务软件架构的演进 广联达科技 白彦磊 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 全过程、全流程、一站式平台 产品特点 业务复杂 多专业领域 BIM全过程流转 人机交互频繁 产品规模大 350万+代码行 150+人团队 CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 业务挑战与架构目标 建筑造型多样化,业务模 型复杂度越来越高 业务挑战 新业务基于现有业务进行 扩展,而应用场景及性能 要求不同,既复用又独立; 产品云+端转型,核心业 务逐步实现服务化,不同 业务演化路径不同 简化业务模型复杂度 架构演进目标 不同业务间解耦 各业务独立演化 单体架构 共享模型 模糊分层 应对复杂业务挑战的思考 关注点分离 抽象建模 应对复杂业务挑战的策略 领域驱动设计 1 2 3 领域拆分 架构分层 构建领域模型 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 业务分析 2 1 3 4 分析业务流程 提炼业务规则 分析业务用例 识别业务对象 子域拆分0 码力 | 33 页 | 1.25 MB | 1 年前3
领域驱动设计&中台/在一个实际复杂业务中落地DDD方法与相关架构0 码力 | 31 页 | 4.74 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+业务高速发展下的 互联网金融系统架构演变 演讲者/张现双� 自我介绍 张现双,宜人贷研发架构师,移动后台负责人,负责 移动后台的技术研发和系统架构设计,并随着业务增长持续 不断的进行性能优化和系统架构升级。 从事过研发、运维、dba等工作,在应对互联网系统流 量、并发、安全、一致性问题等方面有一些经验。 翻译出版专著:《可伸缩架构:面向增长应用的高可用》 纽交所上市 2017 财富管理平台 网贷平台 YEP 业务� 多元化发展� [部分] 网贷平台 财富管理平台 YEP 第二部分 移动后台架构演进 初创阶段 效率优先,快速响应,第一要务是生存 成长阶段 用户和业务持续上量,业务快速发展 扩张阶段 业务和团队规模增长迅速,多元化发展,对效率和质量提出更高要求 没有一种� 网站、基础服务 移动后台 业务和团队规模迅速扩张 粗粒度服务化,基础设施完善 CDN/页面缓存/静态站/缓存集群 移动后台旁路 流程double,冗余开始出现 移动后台单体 继续成长,瓶颈明显 后台日益庞大,业务冗余严重 N多业务排队上线,瓶颈明显 热点场景频发,影响单体稳定 2pizza团队,系统单体制约 商城 核心服务 业务 网贷 保险 基金0 码力 | 42 页 | 19.96 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔如何设计⾯面向容错的系统,如何提升系统的可⽤用性 强弱依赖 • 弱依赖 - 熔断限流,有损服务 • 强依赖 - 备选服务,降级实现 什什么是强弱依赖,如何确定强弱依赖 • ⽤用户是否强烈烈感知 • 核⼼心业务是否有损 service ⽤用户请求 serviceB serviceA serviceC serviceC- degrade 弱依赖 强依赖 强依赖 备选服务 熔断、限流 降级 Netflix开源的一款容错框架,支持多种降级熔断技术 资源隔离 断路路器器 降级操作 请求合并 请求缓存 实践过程中遇到的问题 • 业务改造成本⾼高,代码耦合,维护成本增⾼高 • 固化策略略,需线下修改代码,测试,发布,线上应急策略略响应不不 友好 • ⽆无法⽀支撑多系统的复合指标计算,业务降级⽀支持不不友好 • ⼤大量量应⽤用各⾃自实现降级熔断,代码散落在各应⽤用,没有统⼀一的管 理理和治理理。久⽽ 理理和治理理。久⽽而久之,⽆无⼈人知道系统内有多少降级点,降级是如 何实现的 • 缺乏UI、没有灵活的参数、策略略配置,没有预案制定管理理能⼒力力 业务保障平台建设之路路 业务保障平台建设之路路 服务管理理 策略略管理理 预案制定 线上演练 • 降级服务统⼀一注册管理理,通过降 级服务质量量数据从整体反映各应 ⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线0 码力 | 26 页 | 18.67 MB | 1 年前3
分布式异地多活架构实践之路服务依赖问题 减少对业务开发影响; 需要封装屏蔽细节 业务开发影响 如何精准调度; 如何合理调度 流量调度 存储系统自带同步 不成熟; 自研组件之间同步 数据同步 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法异地多活解决方案 • 实际应用效果 • 未来规划 业务特点分析 业务分类 业务举例 业务特点 场景归类 核心业务 皮肤、表情、资源、广告、应用墙译等 多主模式 (多点读写) 分布式日志收集等 写多读少 汇聚模式 (多点写,单点读) 内容统计指标获取、内容榜单等 读写均衡 混合模式 (多点写,单点读, 单点写,多点读) 非核心业务 老版本兼容服务、运营活动、配置、管 理平台、官网、论坛等 N/A 本地模式 (单点读写) 设计思路 核心业务异地多活 精准流量调度 数据同步 多元化 最终一致性 依赖关系优化 配套系统支撑 MS GSLB MS 上报/探测 上报 上报 上报/探测 上报/探测 上报 获取入口地址 服务访问 根据运行情况进行负载均衡/踢出故障入口 入口 入口 入口 三地同步/调用 核心业务异地多活 核心系统 非核心系统 原有系统 单向依 赖 传统DNS调度存在问题 LocalDNS 智能DNS (权威域名 服务器) root域名服 务器 com域名服 务器 合肥IDC0 码力 | 36 页 | 1.66 MB | 1 年前3
分布式 KV 存储系统 Cellar 演进之路observer同步强一致 • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 存储节点Failover,越快越好? • 数据补全对业务影响 • 机器宕机五分钟,数据补全两小时 节点升级,先切走流量再操作? • 节点流量只能切到有其他副本的节点 • 升级后的节点缺少升级期间的写入 Cellar—节点高可用 Cellar—节点高可用 影响可用性的问题 • 数据迁移 • 请求超时抖动 Cellar—服务可用性提升 Cellar—无损数据迁移 数据迁移的问题 • 迁移速度不可控,易影响业务请求 • 路由表更新瞬间请求失败 • key级别迁移写入,引擎压力大 节点状态指标 • 引擎压力 • 网卡 • 队列 • QPS • ··· Cellar—无损数据迁移 智能调速+全程代理 A节点 B节点 桶2 桶1 客户端0 码力 | 34 页 | 1.66 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践粒度更细:可指定服务版本,类,方法级别 配置灵活:可配置检测粒度为每M毫秒N个请求P%的错误率 指标多样:RT值,错误率,线程池参数 熔断 粒度更细:可指定调用者和被调用者服务版本,支持failover、failfast、failback容 错机制。 配置灵活:支持自定义超时时间和重试次数。 可自行定制:通过暴露自定义异常NSFExcetion解决任意业务方法的容错,支持超时、 failover,failfast容错。0 码力 | 39 页 | 3.06 MB | 1 年前3
领域驱动设计&中台/架构分层模型适配前端应⽤用 API服务 业务领域 基础设施 为前端应⽤用提供API服务,关注事务和分布式等技术性问题 领域模型和领域逻辑,关注业务概念。 访问外界系统(调⽤用外界系统)的技术相关实现。 后台服务 前端应⽤用 分层依据: ⼲干系⼈人和技术点 DDD分层参考架构 - 前端应⽤用 DDD重点关注后台业务服务,不不解决前端交互问题 前端界⾯面 API服务 业务领域 基础设施 前端应⽤用 诉求: 良好的⽤用户体验 技术点: ⼈人机交互设计和实现 UX关注的层 DDD分层参考架构 为前端和第三⽅方应⽤用提供API服务,关注服务编排,事务和 分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 API服务 ⼯工作内容: • 接收外部请求并响应: 腐化案例例: ⼤大量量业务逻辑堆积 模型: • View Object • Resource Model DDD分层参考架构 领域模型和领域逻辑,关注业务概念。 前端应⽤用 API服务 领域模型 基础设施 ⼲干系⼈人: 业务领域专家,业务领导 诉求: 表现业务概念和实现业务价值 要点: 业务建模和复杂性管理理 ⼯工作内容: • 建⽴立业务模型,并体现在代码上 •0 码力 | 39 页 | 2.54 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践load ⾼高 • 资源利利⽤用率 应⽤用本身的解决⽅方案? 并⾏行行度有限 • ⽆无法纯业务依赖并发 • 微服务化让问题更更凸 显 • RT 累积 RT 与 ⽤用户增⻓长 RT 累积带来成本 • 过早引⼊入 cache • 每个服务都在设置超 时 维护成本、业务实现复 杂化 天⽣生异步的架构 流 Stream / Flow / Flux 什什么是流 Database! — Erik Meijer 流定义 • ⾯面向数据 • 操作、组合 ⾯面向流 • 业务逻辑 → 数据变换 • 数据变换 → 业务逻辑 数据 vs 逻辑 ⾯面向流编程是 ⾯面向数据编程 流式架构 流 分布式 性能 并发控制 业务编写 流 - 业务编写 创建 just / from* / range / repeat /interval / timer 远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn) 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写 • 更更友好的控制并发 维护性 和 性能 更更优! 优雅控制 processors.flatMap(processor0 码力 | 27 页 | 1.13 MB | 1 年前3
共 29 条
- 1
- 2
- 3













