大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer server server (超)大型规模应用+契约协同 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务逻辑发生变化了,但负责它的团队没有通知到0 码力 | 19 页 | 2.74 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践微服务和Service Mesh 在多个行业落地实践 www.163yun.com 阶段一:单体架构群,多个开发组,统一运维组 www.163yun.com 阶段二:组织服务化,架构SOA化,基础设施云化 www.163yun.com 阶段三:组织DevOps化,架构微服务化,基础设施容器化 www.163yun.com Hailo Amazon Netflix 拓扑 性能 监控 服务 筛选 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 译 镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致 减少沟通 某视频监控企业:IT资产沉淀与IT能力复用 持续集成 容器化 注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译0 码力 | 39 页 | 3.06 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践通道 交易拆分 业务2.0痛点 BUSINESS 2.0 PAIN POINTS 业务野蛮发展 交易量高速增加 并发请求增加 交易响应速度过慢 数据库单表 数据量剧增 模块耦合度高 开发效率低下 … 思考 THINKING 解耦 异步化 扩容 排队 队列 缓存 冷热数据隔离 读写分离 分库分表 容灾 限制 池化 ACK ... 变化 VARIETY RabbitMq-2 PAIN POINTS 业务3.0痛点 BUSINESS 3.0 PAIN POINTS 业务3.0远景 BUSINESS 3.0 VISION 实时交易环境 非实时交易环境 通 道 A 通 道 B 通 道 C 通 道 D … 通 道 A 通 道 B 通 道 C 通 道 D … 单 笔 代 收 单 笔 代 付 快 捷 鉴 权 短 信 THAN THE USER 03 最佳实践-如何早于用户发现问题 如何 早于用户 发现问题 如何让开发人员 对自己的代码 更加有安全感 ? 这些困惑的体现是什么呢? 开发人员如何提高代码质量,减少频繁迭代产生的bug? 线上环境突发事故,第一时间如何决策减少事故影响范围? 开发人员排查问题速度过慢? 随着业务的增长,问题越来越多,第一优先级需要解决什么? 系统突然CPU、内存利用率暴增,如何定位代码?0 码力 | 35 页 | 6.05 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地ThoughtWorks ⾸首席咨询师 姚安峰 关于讲师 ThoughtWorks⾸首席咨询师。从事精益、敏敏捷等软件 产品研发⽅方法的践⾏行行与推⼴广,对从业务探索、产品与 服务设计、演进式架构、敏敏捷开发、持续交付、数据 运营等端到端数字化业务的⽅方法与实践及其规模化应 ⽤用有深⼊入研究和丰富实践经验。 ⽬目前致⼒力力于帮助各⾏行行业客户实现数字化转型,建⽴立数 字时代的精益研发体系,提升规模化创新能⼒力力。近两 评审 开 发 服务运⾏行行治理理 服务 部署 运⾏行行架构治理理 故障 分析 定义架构 约束条件 微服务架构设计 服务地图 设计 API设计 部署架构设计 微服务⼯工程创建 开发 框架 架构 ⻛风格 资源 配置 … 架构演进 服务 关系 分析 代码 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 关联变更更到需求 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/ Dockerfile/流⽔水线0 码力 | 42 页 | 2.95 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化1、功能单一 大多政务服务APP功能单一,仍以政务信息发布为主,缺乏实用的网上办事和便民服务。 仅有15%的政务APP提供办事服务,存在“信息有余、服务不足”的问题。 2、下载APP成为负担 政务APP盲目开发泛滥,用户为了办事需要下载多个APP,成为一种负担。 3、优化不足体验差 政务APP接入政务服务,没有结合移动端的访问特性进行移动化改造,用户体验差。 4、缺少持续运营: 政务APP运营维护乏力,版本迭代缓慢,存在大量僵尸应用。 政务APP 统一身份认证 无需注册直接登录,提供活体检测、人脸核身 需要注册,使用密码和手机盾认证 推广传播 下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 只需开发一套,组件丰富 每个端都得开发,标准化组件少 版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 APP消息,打扰多,用户遗漏概率大 拓展性 程序包小,可以关联调转 无需注册(无需用户再记住一个新账号、密码) • 依托微信的账号体系,便捷登录,以授权登录、 人脸识别登录为主 • 依托公安部门互联网可信身份认证体系 • 用户登录后,业务系统不再要求用户登录 9、前端开发 -- 封装公共组件 ,磨刀不误砍柴工 1、封装DGD-SDK公共组件 2、合包工具 3、Taro框架预研 10、API网关 – 限流保护已有系统、提升访问安全性 • 1.业务应用A 向网0 码力 | 35 页 | 15.60 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造绕业务概念构建领域模型来控制业务的复 杂性,以解决软件难以理理解,难以演化等 问题。团队应⽤用它可以成功地开发复杂业 务软件系统,使系统在增⼤大时仍然保持敏敏 捷。 事件⻛风暴暴⼯工作坊 - Event Storming是⼀一种领域建模的实践,是⼀一种快速 探索复杂业务领域的⽅方法: - 最初由Alberto Brandolini 开发,经过DDD社区和 TW的很多团队实践验证后,于2015年年11⽉月进⼊入 ThoughtWorks技术雷雷达 确定义领域模型的范围和职责。 为什什么使⽤用限界上下⽂文? 限界上下⽂文可以分为限界和上下⽂文两个词 来理理解,限界:指⼀一个界限,具体的某⼀一 个范围; 上下⽂文:场景、环境;所以限界上下⽂文是 在某个场景或环境下的业务边界。该边界 就是业务上的职责。 1. 基于前⾯面输出的聚合和领域模型, 判断这些领域模型要解决的业务问题, 这些问题是否为同⼀一个问题,如果是 则放到⼀一个限界上下⽂文中(⼀一个问题 基础设施 第⼋八式: 1. 新⽤用户服务运⾏行行⼀一段 时间后,删除原始⽤用 户模块,完成拆解 遗留留系统拆解注意事项 1. 遗留留系统改造过程中,适当减少新需求的开发,减少改造难度 2. 遗留留系统改造过程中,新需求开发必须按照新规则,如只通过 REST API进⾏行行依赖,同⼀一类型数据只能在某⼀一模块中修改, 不不依赖其他模块数据库等,减少改造⼯工作量量 3. 遗留留系统中还会包含前端代码和存储过程,也需要通过代码依0 码力 | 54 页 | 3.85 MB | 1 年前3
海量用户推送后台系统架构实践-曾振波极光推送后台系统架构实践 曾振波 极光开发者技术部推送开发组 技术负责人 极光推送后台系统架构实践 曾振波 极光开发者技术部推送开发组 技术负责人 极光推送后台开发工程师 多年互联网开发经验,专注后台开发技术。2016年加入极光,负责极光推送平台架构设 计及开发,主导包括K8S在内的技术架构实施落地,推动系统架构的演进,构造支撑海 量用户的推送系统,对大规模分布式系统架构及设计有深入的理解。 后台系统架构基本原则 • 链接管理 • 系统安全 • 新技术的应用 目录 关于极光 36.9 万 开发者 107.6 万 APP 198 亿 移动终端 10.4 亿 月独立 活跃设备 90 % 覆盖率 亿级长连接用户 SDK多版本并存 消息实时性 触达率要求 移动网络环境复杂性 海量用户数据存储 消息推送系统面临的挑战 极光推送服务架构 系统通道 API 用户筛选0 码力 | 23 页 | 1.26 MB | 1 年前3
全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash全面的云上脉冲设计平台 量子调控 业界现状 量子芯片的挑战 外围测控设备的问题 量子计算能否实现,需要增加 量子比特的数量同时提高比特 的 质量。 量子比特动力学调控非常复 杂,加上复杂的环境因素, 精度和稳定性要求极高。如 何提高比特操作精度,是当 前研究的核心。 另外,在实验室我们同时面对温度的 大跨度变化,导致信号畸变和多路控 制信号串扰(crosstalk),接近量子 物理极限的信号放大。 波、激光或电流去操控量子芯片,是提高精度确保量 子计算机可用性的关键技术。 华为HiQ Pulse: 全面的云上脉冲设计平台方案 核心技术呈现 HiQ Pulse是针对近期NISQ量子硬件调控开发的一套普适的控制脉冲设计 软件包,它包含了常见已知的控制脉冲库和算法库, 对于目标量子态制 备、量子逻辑门以及量子线路的物理实现,HiQ Pulse 可以输出用户想要 的脉冲序列。同时,HiQ pulses,Shaped pulse和 Dynamic Decoupling等常见成熟的脉冲序列; 2. 全面的优化算法库,不仅含有主流的GRAPE、CRAB和Krotov优化算 法,还自主开发了基于Deep reinforcement learning 和 Monte Carlo 3. 兼容业界主力调控包Qutip等 4. 高性能计算能力(核心技术:新的计算Propagator方法,自主研发的0 码力 | 34 页 | 5.57 MB | 1 年前3
从百度文件系统看大型分布式系统设计中的定式与创新个人主页&Blog - https://github.com/bluebore - http://bluebore.cn 提纲 • 百度文件系统简介 • 分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master HDFS BFS 名字节点 扩展方式 联邦式 分裂的目录树 分布式 统一的目录树 宕机恢复时间 分钟级 秒级 外部依赖 ZooKeeper & QJM 无 开发语言 Java C++ Q&A • 欢迎参与BFS的开发 • https://github.com/baidu/bfs • 谢谢~0 码力 | 24 页 | 937.45 KB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊移动互联网 智能手机/APP • 预测供需结构,智能派单调度 • 评估难度、ETA、骑手能力等数据 • 定位越来越精准,地图与导航逐渐成熟 • 实时移动的信息传递通路 • 线下配送的全过程纳入信息环境 1.基础设施不断完善 配送业务全面信息化是必然趋势 2.用户消费升级 数据来源:智研咨询 美团配送系统的技术挑战 用户 商家 骑手 快速 放心 省钱 销量 品牌 信赖 收入 同城建设方案 配送履约方案 骑手运营方案 行业方案 如何更好地发挥大数据与AI的价值 降低试错成本 提升算法特征迭代效率 提升导航数据质量 仿真平台 最大化降低算法的线上试错成本 打造算法沙箱环境 特征平台 统一算法策略迭代框架,数据生产框架 提升特征数据质量 LBS平台 提供 坐标流、导航路径、空间索引 能力 打磨各类位置与导航策略场景 导航 算法特征 效果验证 产品技术创新驱动业务发展 并对事件、数据模拟 仿真报告可视化 产品技术创新驱动业务发展 精细化阶段:特征平台 版本管理:缩短实验周期,灵活配置实验规则 实时特征:特征准实时加工、离线特征实时转化 离线特征:特征快速开发、验证、上线能力 场景 产品技术创新驱动业务发展 精细化阶段:LBS平台 深耕LBS平台,丰富、打磨各类算法策略场景 线 骑行导航 步行导航 车行导航 配送 范围 规划 定价 ETA0 码力 | 31 页 | 15.26 MB | 1 年前3
共 25 条
- 1
- 2
- 3













