大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer server server server (超)大型规模应用+契约协同 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway Gateway 分布式文件 分布式缓存 分布式消息 DB Cluster 连接 序列化 路由 负载均衡 … 问题示例 1. 我依赖一个远程服务,但在负责它的团队把它上线之前,我什 么也做不了 2. 我负责的功能依赖一堆的远程服务,为了本地调测,我必须从 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后0 码力 | 19 页 | 2.74 MB | 1 年前3
超大规模高可用性云端系统构建之禅-蔡超0 码力 | 40 页 | 6.52 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊美团点评资深技术专家、美团配送业务系统团队负责人 2010年大连理工大学毕业,曾先后任职于Hikvision、人人网,从事过视频 监控、广告、IM、DevOps、中间件、数据仓库等技术方向 2015年加入美团·大众点评,负责配送业务系统建设,重点负责系统质量 保证、运营体系建设、核心系统架构升级等方向,支持美团配送业务发展 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 运营效率 加强对配送骑手的管控能力 提升配送全业务的运营效率,降低成本 履约流程:下单 -> 派单 -> 接单 -> 取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险.... 运营团队:运力结构、经营分析、绩效考核.... 客服团队:问题跟进、定责… 基础设施不断升级 与 用户消费升级 促使即时配送全面信息化 人工智能 大数据 GPS+GIS 移动互联网 智能手机/APP 履约SLA要求高,重线下业务运营 配送系统的技术定位与思路 初期造工具,解决能不能 长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 MVP阶段 业务从零到一 快速迭代、业务试错 核心链路MVP、主流程跑通 • 按照粗领域拆分系统边界 • 按照三大信息流(人、财、物)划分系统 • 如何支撑快速试错:0 码力 | 31 页 | 15.26 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+财富管理平台 YEP 第二部分 移动后台架构演进 初创阶段 效率优先,快速响应,第一要务是生存 成长阶段 用户和业务持续上量,业务快速发展 扩张阶段 业务和团队规模增长迅速,多元化发展,对效率和质量提出更高要求 没有一种� 架构能� 包打天下 DB Server PC WEB 容错性、稳定性差 技术债迅速积累 代码安全带来挑战 …... 网站、基础服务 移动后台 业务和团队规模迅速扩张 粗粒度服务化,基础设施完善 CDN/页面缓存/静态站/缓存集群 移动后台旁路 流程double,冗余开始出现 移动后台单体 继续成长,瓶颈明显 后台日益庞大,业务冗余严重 N多业务排队上线,瓶颈明显 热点场景频发,影响单体稳定 2pizza团队,系统单体制约 商城 核心服务 业务 网贷 适应性架构设计(指导)+超强工程能力(落地) 03 04 技术要紧贴业务,接地气 技术是手段而不是目的,生产力适应生产关系,技术业务相互促进共同发展 安于现状=走下坡路 提升团队整体工程能力,前瞻性改造 Thanks�0 码力 | 42 页 | 19.96 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 全过程、全流程、一站式平台 产品特点 业务复杂 多专业领域 BIM全过程流转 人机交互频繁 产品规模大 350万+代码行 150+人团队 3+技术平台 产品特点 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 业务挑战与架构目标 建筑造型多样化,业务模 型复杂度越来越高 子域拆分 • 业务流程 • 专业知识 建模子域 计算子域 登录与 授权子域 报表子域 指标子域 做法子域 限界上下文拆分 • 业务用例 • 功能\语义相关性 • 技术应用 • 团队规模 建模子域 构件模型上下 文 模型编辑上下 文 计算子域 报表子域 模型转换子域 做法子域 通用子域 汇总上下文 指标管理上 下文 三维模型转换 上下文 CAD翻模上下 DDD落地与研发融合 架构演进驱动产品与研发 • 降低了整体业务的耦合,各业务独立演化; • 简化了集成关系,降低了集成成本,实现各业务的独立发布; • 驱动组织按领域边界拆分了7~9个特性团队,实现并行研发; 限界上下文的拆分 + 领域模型+ 接口设计/测试 • 支撑产品转型,快速实现业务服务化; • 提升业务逻辑的可复用性,新业务快速扩展 • 人工智能技术低成本快速应用; 架构分层,隔离UI/业务/技术0 码力 | 33 页 | 1.25 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地产品研发⽅方法的践⾏行行与推⼴广,对从业务探索、产品与 服务设计、演进式架构、敏敏捷开发、持续交付、数据 运营等端到端数字化业务的⽅方法与实践及其规模化应 ⽤用有深⼊入研究和丰富实践经验。 ⽬目前致⼒力力于帮助各⾏行行业客户实现数字化转型,建⽴立数 字时代的精益研发体系,提升规模化创新能⼒力力。近两 年年来,研究的重点放在数字化业务管理理的组织治理理与 动态投资组合管理理,最⼤大化投资成效。 2016年年翻译出版了了著作《精益企业》。 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统 列列表 团队⼈人员⾓角⾊色 权限维护 外部系统维护 架构约束定 义维护 部署元素维护 代码引入ArchUnit/ log格式入⼿手 框架管理理 代码模版⽣生成 引擎 GIT插件通信0 码力 | 42 页 | 2.95 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔希望降级不不重要的服务 运营 开发 开发:不不清楚这样的业务 场景有哪些次要服务需要 降级 • 预案分级 从全局建⽴立服务重要程度评估模型 • 蓝⾊色预警 - ⼩小规模⾮非核⼼心服务降级 • ⻩黄⾊色预警 - ⼤大规模⾮非核⼼心服务降级 • 红⾊色预警 - 所有⾮非核⼼心服务降级 • 预案编排 • 根据链路路关系、同等级优先级进⾏行行预案编排, 形成降级执⾏行行链路路 • 线上实时预案测试、演练,演练数据回溯 通过破坏性测试,发现系统的潜在故障,及时修正,并做好降级预防措施 • 参数修正,及时调整流控、降级策略略,优化告警、超时参数设置 • 模拟线上故障,进⾏行行故障复现,验证故障后续的处理理措施是否⾏行行之有效 • 以战养兵,历练团队,让⼯工程师有更更多机会积累经验,提升应对故障的能⼒力力 常态化的故障演练对系统进⾏行行反复验证 系统设计 Agent Core Custom Code Model Burn CPU 预案,通过持续不不断的治 理理保障系统的可⽤用性 • 通过反复的故障演练,发现系统中的薄弱点,并进⾏行行有效的预防 • 配合降级预案,让系统的可靠性更更易易验证,让演练更更加常态化 • 历练团队、积累经验,促进⼯工程师的进步,提⾼高应对故障的能⼒力力 ⾃自我介绍0 码力 | 26 页 | 18.67 MB | 1 年前3
全球架构师峰会深圳2015/研发体系构建_龚银_中型创业公司的技术管理之痛照搬行业实践不一定合适 层次简单化 缩减层次,效率优先 混合语言,效率低下 研发体系和流程 研发体系框架搭建 人解决一切 技术简单化 不要追求炫酷,简单实用即可,根据团队成员能力量体裁衣 先跑起来,然后找合适时间进行优化,合适的平衡 简单清晰,效率优先,能用一个人解决的事情,决不安排两个人 利用开源和成熟产品,不重复发明轮子,比如使用AWS等 聚焦与系统思维 技术和管理比重随时调整和平衡 技术、业务和管理的平衡 技术管理者大多对技术热衷,对管理忽视 技术、业务、系统花费精力和时间太多,团队管理精力太少 平衡 时间的分配:轻重缓急,适度授权 根据团队规模和业务情况,选择合适自己的占比 制定规划,不同的时间点和阶段重心进行调整 招人要慢,辞退要快 招人要慢,辞退要快 找到合适的人真的是一件很难的事情 沟通、沟通、沟通、无他 不同的对象,沟通方式不一样,灵活处理,使用不同的技巧 沟通只是第一步,形成固定机制,落实并执行才最重要 Motivation 正确的激励导向,使团队快乐 需要的素质和「心得」 需要的素质 指得了路 扛得了枪 吃得了苦 卖得了萌 受得了委屈 个人的几点有效实践 锻炼身体,保持良好的体力和心态0 码力 | 36 页 | 2.49 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践THE BEGINNING DO NOT FORGET THE BEGINNING, CONTINUE TO MOVE FORWARD 04 不忘初心,继续前进 中小规模 硬件规模不过百 技术债积累期 团队规模不过百 数据规模日交易量不过千万 配置繁琐 调用混乱 组装困难 协议单一 当前架构的 适用范围 微服务迁移 继续前行 MOVE ON 统一API网关 规范 SPECIFICATION0 码力 | 35 页 | 6.05 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造杂性,以解决软件难以理理解,难以演化等 问题。团队应⽤用它可以成功地开发复杂业 务软件系统,使系统在增⼤大时仍然保持敏敏 捷。 事件⻛风暴暴⼯工作坊 - Event Storming是⼀一种领域建模的实践,是⼀一种快速 探索复杂业务领域的⽅方法: - 最初由Alberto Brandolini 开发,经过DDD社区和 TW的很多团队实践验证后,于2015年年11⽉月进⼊入 ThoughtWorks技术雷雷达 物流⼦子域 每⼀一个限界上下⽂文 都是在明确边界 微服务设计原则 1. 对⻬齐限界上下⽂文 2. 业务变更更频率与相关度 3. 系统⾮非功能性需求 4. 组织结构和康威定律律 5. 团队规模 6. 技术异构和现有系统复杂度 服务画布 已可视化 阿 ⼠士⼤大 1. 买家 2. 商户 1. 买家创建订单 2. 商户履履⾏行行订单 订单 商品 1. 订单 2. 商品0 码力 | 54 页 | 3.85 MB | 1 年前3
共 25 条
- 1
- 2
- 3













