大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer 解决之道:通过技术手段,降低系统对外部的依赖,而“MOCK”,是最 有效的手段。 分布式服务框架mock能力构建 应用 服务容器(Consumer) Filter Chain 将mock能力内置到分布式服务框架中 开发mock能力过滤器,在服务调用链路上对服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 校验接口清单 远程接口A 测试报告 服务注册中心 服务列表 …… 远程接口B … 邮件发送 调用 并 比对结果 CI构建流程 response request 应用服务综合mock能力 在实际应用场景中,应用所依赖的服务往往很分散: 一部分依赖服务从本机的Runtime环境即可获取, 一部分需要从协同团队的远程开发机上临时获取(联调模式), 一部分服务可能还未完成开发并发布,需要通过mock机制进行模拟。0 码力 | 19 页 | 2.74 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊Doordash 美团外卖 饿了么 点我达 闪送 UU跑腿 海内外掀起一波创业浪潮 美团配送系统:机器与海量骑手协作,服务于全国商家与用户 履约能力 实现平台对运单调度的实时把控,对运单与运力的供需匹配 运营效率 加强对配送骑手的管控能力 提升配送全业务的运营效率,降低成本 履约流程:下单 -> 派单 -> 接单 -> 取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险 基础设施不断升级 与 用户消费升级 促使即时配送全面信息化 人工智能 大数据 GPS+GIS 移动互联网 智能手机/APP • 预测供需结构,智能派单调度 • 评估难度、ETA、骑手能力等数据 • 定位越来越精准,地图与导航逐渐成熟 • 实时移动的信息传递通路 • 线下配送的全过程纳入信息环境 1.基础设施不断完善 配送业务全面信息化是必然趋势 2.用户消费升级 数据来源:智研咨询 运营复杂度高:定义科学的订单供给与运力结构,并精准调控 • 安全管理:用户安全、商家安全、骑手安全 履约SLA要求高,重线下业务运营 配送系统的技术定位与思路 初期造工具,解决能不能 长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 MVP阶段 业务从零到一 快速迭代、业务试错 核心链路MVP、主流程跑通0 码力 | 31 页 | 15.26 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 APP消息,打扰多,用户遗漏概率大 拓展性 程序包小,可以关联调转 无大小限制,调转较难 智能化服务能力 微信自带组件,对接更容易 需根据场景单独对接,如人脸识别、支付等 产品自主性 需依托微信平台 完全自主可控 数据安全性 微信前端数据通过HTTPS传输 全业务流程数据传输监控 使用路径 微信端二级应用 包括个人中心、服务、待办服务、证照服务、公共服务、外部能力、业务办理服务和运营管理服务模块 12、系统部署架构反复评审论证 一、部署架构 1、政务云电子政务外网 :数据库、应用服务 2、政务云互联网区:静态资源、网关 3、互联网区:小程序、云服务 二、安全防护 1、仅开放指定端口 80 443 2、域名须有HTTPS证书 3、白名单 13、安全渗透测试、运维监控 -- 确保系统稳定 一、业务应用上线前必须经过安全渗透测试。 一、业务应用上线前必须经过安全渗透测试。 1、在测试环境中扫描出:越权查询、SQL注入、明文传输等,要求整改 2、正式环境检查: 操作系统、数据库、中间件漏洞,建议打补丁 二、运维监控每日 1.采用ELK收集系统日志、监控异常信息 2. 对各业务系统API接口进行状态监控,每日输出报告 14、系统上线、系统截图 粤省事小程序码 目录 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目0 码力 | 35 页 | 15.60 MB | 1 年前3
分布式 KV 存储系统 Cellar 演进之路服务层 请求 mdb 响应 ldb fdb rdb 引擎层 迁移 复制 • 中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 开源 Tair • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 Cellar—中心节点架构演进 • 性能问题 客户端集中获取路由表 • 隔离性问题 中心节点暴露给客户端 单独的路由表获取模块 Cellar—中心节点架构演进 • 可扩展性: 路由查询能力 可线性扩展 • 隔离性: 客户端与中心节点 完全隔离 Cellar—中心节点架构演进 一致性 • 主备脑裂 • observer与config • Zookeeper选主 • 元数据Zookeeper存储 网络延迟大 专线稳定性差 • 异地容灾需求 跨集群数据同步 Cellar—异地容灾 集群节点同步 消息队列同步 复制延迟 低 高 系统复杂度 低 高 运维成本 低 高 实现难度 高 低 扩展性 低 高 • 低延迟 • 低复杂度(运维成本) Cellar—异地容灾 • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录0 码力 | 34 页 | 1.66 MB | 1 年前3
海量用户推送后台系统架构实践-曾振波RabbitMQ, RocketMQ • 模块间解耦 • IDC数据同步 • 异步RPC • ICE - 负载均衡,AMI,AMD,多线程 极光推送后台系统架构 02 并行化 • 横向扩展处理能力 • 数据分片存储 • 多节点+分片+多副本架构 • 数据读写动态路由 • 请求并行处理 • 模块级别并行 • 代码级别并行 极光推送后台系统架构 03 MQ Segment OnlineMsg 多维度监控,告警系统 极光推送后台系统架构 08 K8S部署业务 • 原有系统的运维工作繁杂,资源利用率低 • 弹性扩容 • 配置统一管理 • 内外集群隔离 • Pod包含多个容器 - 辅助容器,业务容器 • 业务模块代码架构调整 • 监控体系调整 极光推送后台系统架构 09 结束语 • 高性能/低成本、高可用、高运维 • 只用验证过的开源组件 • 自研替代开源 • 能并行就不要串行 能并行就不要串行 • 能异步就不要同步 • 保持简单,快速迭代 • 不要过早优化,架构是演进出来的 极光推送后台系统架构 结束语 • 高性能/低成本、高可用、高运维 • 只用验证过的开源组件 • 自研替代开源 • 能并行就不要串行 • 能异步就不要同步 • 保持简单,快速迭代 • 不要过早优化,架构是演进出来的 极光推送后台系统架构0 码力 | 23 页 | 1.26 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践微服务和Service Mesh 在多个行业落地实践 www.163yun.com 阶段一:单体架构群,多个开发组,统一运维组 www.163yun.com 阶段二:组织服务化,架构SOA化,基础设施云化 www.163yun.com 阶段三:组织DevOps化,架构微服务化,基础设施容器化 www.163yun.com Hailo Amazon Netflix www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致 减少沟通 某视频监控企业:IT资产沉淀与IT能力复用 持续集成 容器化 注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 服务 告警 监控 大屏 账户 审计 注册,发现,调用都提供鉴权 认证鉴权 接口文档统一维护 文档与运行时一致 减少调用沟通成本 知识库 根据平台、租户、项目三个层次区分权限作用域 操作记录,审计日志,事件查询 账户审计 微服务框架负责服务之间的调用——企业级特性0 码力 | 39 页 | 3.06 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕自我介绍 王昕,阿里中间件技术团队高级技术专家,阿里云开放云平台布道师。具有10多年软件 系统开发和架构经验,在分布式系统领域经验丰富,长期参与高可用中间件系统、云平 台基础管理系统和云原生自动运维系统的构建。在国内外有10多项授权和在审软件技术 发明专利,并多次受邀出席技术会议,做技术专题分享。 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 设计和验证高可用分布式系统的案例分享 Ø 高可用系统的最佳实践总结 无状态分布式系统的高可用问题 处理消息的服务节点可以随机选择 不必处理数据复制和同步的问题 系统容量和高可用能力可以同步提升 服务节点可以随意迁移,不必固定 IP 和存储 有状态分布式系统的高可用问题 一致性 可用性 分区容错性 Paxos Raft 2PC Gossip Ø 处理请求需要特定节点 Ø 必须要考虑数据备份和同步 有一个统一的状 态持久化接口, 所有有状态模块 通过统一的接口 对应统一的对象 模型 配置模块对象只 需要包括 Desired State 每个领域的控 制器模块的逻 辑保证自己领 域独立自愈的 能力 改变状态的操作 必须是幂等的声 明式操作,没有 新声明时各模块 按照之前的声明 继续工作 控制器模块对象 包括Desired State 和 Realized State 声明式自愈系统的控制器协调循环0 码力 | 44 页 | 2.47 MB | 1 年前3
ServiceComb 开源微服务框架技术演进之路 巨震sidecar-injector=enabled 用户案例 原则 • 架构稳定,有可持续发展、演进能力 • 支持多语言、传统微服务和新兴ServiceMesh微服务 架构混合场景部署 • 有大型成功商用案例 • 无商业强绑定,高自由度,企业自主可控 • 完整的生态栈,涵盖开源主流微服务运维和安全领域 • 低学习成本,有编程语言基础即可快速上手 华为开源 ServiceMesh方案 Java应用 PHP应用 0侵入改造 支持多种开发语言 解决Java和PHP共存场景 传统与新兴微服务化方式共存 混合部署、协同治理 丰富的监控运维 细化到业务层面的微服务监控运维 遗留应用0改造 支持0侵入业务代码,使用成本低,对 原有业务无影响 开发方式不变 ServiceComb 服务注册中心 公众号 WebUI App0 码力 | 20 页 | 861.58 KB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+自我介绍 张现双,宜人贷研发架构师,移动后台负责人,负责 移动后台的技术研发和系统架构设计,并随着业务增长持续 不断的进行性能优化和系统架构升级。 从事过研发、运维、dba等工作,在应对互联网系统流 量、并发、安全、一致性问题等方面有一些经验。 翻译出版专著:《可伸缩架构:面向增长应用的高可用》 大纲� 01 宜人贷发展历程 02 移动后台架构演进 cloud≠容器化≠RPC 工具/框架是手段而不是目的 02 优秀的系统=� 适应性架构设计(指导)+超强工程能力(落地) 03 04 技术要紧贴业务,接地气 技术是手段而不是目的,生产力适应生产关系,技术业务相互促进共同发展 安于现状=走下坡路 提升团队整体工程能力,前瞻性改造 Thanks�0 码力 | 42 页 | 19.96 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架 构 设计 统⼀一协作平台 研发⼯工具连 为某企业做的微服务平台规划 部署架构设计 服务 契约 定义 契约 代码 评审 开 发 服务运⾏行行治理理 服务 部署 运⾏行行架构治理理 故障 分析 定义架构 设计 API设计 部署架构设计 微服务⼯工程创建 开发 框架 架构 ⻛风格 资源 配置 … 架构演进 服务 关系 分析 代码 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 部分 产品、⼈人 员维护 定义通⽤用 约束条件 定义服务 约束条件 可视化设计 服务地图 关联变更更到需求 设计API 代码质量量分析- 配置Sonar地址、展⽰示分析结果 数据结构分析- 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统 列列表 团队⼈人员⾓角⾊色 权限维护 外部系统维护 架构约束定 义维护 部署元素维护 代码引入ArchUnit/0 码力 | 42 页 | 2.95 MB | 1 年前3
共 25 条
- 1
- 2
- 3













