从百度文件系统看大型分布式系统设计中的定式与创新搜索基础架构 从百度文件系统 看大型分布式系统设计 自我介绍 • 颜世光, 专注于大规模分布式系统 • 代表作品 - 百度第三代Spider系统 - 百度文件系统BFS - 万亿量级实时数据库Tera - 集群调度系统Galaxy • 个人主页&Blog - https://github.com/bluebore - http://bluebore.cn 提纲 • 百度文件系统简介 • 分布式系统设计实践 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu Stack 网络通信框架Sofa-pbrpc 分布式文件系统 BFS 集群调度系统 Galaxy Apps(Spider/Index/Search) 数据中心操作系统(DCOS) • 进程调度&内存管理 - Galaxy - 应用部署和任务调度 • 锁和信号量 - Nexus - 分布式锁 - 分布式通知 • 文件系统 - The Baidu File System - 持久化存储 百度文件系统架构 设计一个分布式系统要考虑的 • 数据与计算的分片 • 分区故障容忍 • 数据一致性0 码力 | 24 页 | 937.45 KB | 1 年前3
全球架构师峰会深圳2015/研发体系构建_龚银_中型创业公司的技术管理之痛ArchSummit 全球架构师峰会 深圳站 2015 中型创业公司的 技术管理之痛 By 龚银 何谓「中型创业公司」 创业 公司 中型 创业公司 成熟 公司 自我介绍 从事过传统IT、搞过硬件、短暂创业、玩过互联网、...... 金蝶 比格邦 天猫 一加 12 • 传统IT • ERP • 广电行业 • 硬件 • 重视规划和系统思维的作用,根据现状随时调整轻重缓急 充分的沟通机制和反馈机制,让大家都能有一致的理解 聚焦与系统思维 技术和管理比重随时调整和平衡 技术、业务和管理的平衡 技术管理者大多对技术热衷,对管理忽视 技术、业务、系统花费精力和时间太多,团队管理精力太少 平衡 时间的分配:轻重缓急,适度授权 根据团队规模和业务情况,选择合适自己的占比 制定规划,不同的时间点和阶段重心进行调整 个人的几点有效实践 锻炼身体,保持良好的体力和心态 每天写管理日志,如实记录,定期反思 保持学习,每天至少预留30分钟时间思考,30分钟时间学习 定期的一对一会谈 心态、视野、行动 不同公司不同阶段有不 同的关注点和解决方法 ,没有标准答案,思考 并实践,找到最合适自 己的路 文化 管理 组织 技术 “在担任CEO的8年多时间里 ,只有3天是顺境,剩下的80 码力 | 36 页 | 2.49 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 DB Cluster 连接 序列化 路由 负载均衡 … 问题示例 1. 我依赖一个远程服务,但在负责它的团队把它上线之前,我什 么也做不了 2. 我 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 应用无感知 无需修改应用代码,单元测试代码中也无需添加任何的mock语句。 服务 调用 Invoker … Remote Call 负载均衡 策略 Runtime Mock数据文件 远程服务 Mock配置 服务 调用 脚本引擎 Mock数据规范 格式规范: 1.静态匹配 2.动态匹配 3.多版本支持(服务版本) 管理规范: 1.服务谁提供,就由谁负责相应Mock数据的 制作。 2.mock数据可被使用者二次修改或替换。 3.mock数据独立工程管理。 静态匹配(json) 动态匹配(脚本) 在线抓取Mock数据 手工编写应用服务的mock数据往往工作量巨大,尤其是对0 码力 | 19 页 | 2.74 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔级是如 何实现的 • 缺乏UI、没有灵活的参数、策略略配置,没有预案制定管理理能⼒力力 业务保障平台建设之路路 业务保障平台建设之路路 服务管理理 策略略管理理 预案制定 线上演练 • 降级服务统⼀一注册管理理,通过降 级服务质量量数据从整体反映各应 ⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 Application Application Application SDK 熔断 降级 流控 隔离 实时策略略推送 数据采集 应⽤用管理理 策略略管理理 流控管理理 预案管理理 指标管理理 监控告警 数据⼤大盘 脚本开发 ETCD管理理 故障演练 业务保障管理理后台 应⽤用JVM进程 故障动态注⼊入 Attach 故障注⼊入 指标聚合查询 熔断降级计算(Flink) ⽇日志中⼼心 指标明细(ES) 降级⽇日志(ES) ETL 指标计算(Flink) 脚本引擎 查 询 服 务 ⽇日志数据 指标(Redis) 业务异常数据快照(ES) 熔断降级通知 降级服务管理理 故障代码注⼊入 降级服务注册设计 serviceA serviceB serviceC etcd register service metadata degrade strategy0 码力 | 26 页 | 18.67 MB | 1 年前3
唯品会调度系统的前世今生需要解决的问题 1 6 4 3 2 … 异构/多语言难以支持 5 缺乏统一监控、统一管理 (进程假死、运行状态未知) 缺乏容错、容灾,高可 用 缺乏分布式处理 无法合理利用机器资源 难以问题追踪 选型对比 Crontab Quartz Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 AuthCenter 服务网关 Janus 安全管理平台 Salus 有女初张成 唯品会弹性调度系统的架构与功 能窥探 域 应用包 作业 执行节点 1 1 * 1 * * 创建 Binding 调度器 物理机 1 1 分片 10 码力 | 58 页 | 5.40 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进业务用例 • 功能\语义相关性 • 技术应用 • 团队规模 建模子域 构件模型上下 文 模型编辑上下 文 计算子域 报表子域 模型转换子域 做法子域 通用子域 汇总上下文 指标管理上 下文 三维模型转换 上下文 CAD翻模上下 文 模型检查上下 文 平法模型上下 文 截面钢筋模型 上下文 土建计算上下 文 钢筋计算上下 文 土建计算设置 上下文 领域拆分 架构分层 构建领域模型 架构分层 持久化层 领域层 CAD图纸管理 建模UI 通用UI组件 几何算法 通用框架机制 通用算法 CAD/BIM UI 图元绘制 显示层 应用层 CAD识别 BIM模型转换 模型编辑 批量操作 CAD模型 BIM模型 模型数据库 gcad文件 gfc文件 数据库 算量模型持久化 CAD模型持久化 BIM模型持久化 … 平法模型 钢筋模型 模型转换 案例1:CAD翻模领域拆分及分层设计 • 隔离功能交互与业务逻辑 • 识别算法独立,引入人工智能算法 持久化层 领域层 CAD图纸管理 CAD翻模UI 显示层 应用层 CAD图层管理 CAD识别命令 CAD模型 CAD模型持久化 CAD识别算法 模型转换 CAD识别数据 模型 构件模型 CAD翻模服务 架构演进 1 2 3 领域拆分0 码力 | 33 页 | 1.25 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地⽤用有深⼊入研究和丰富实践经验。 ⽬目前致⼒力力于帮助各⾏行行业客户实现数字化转型,建⽴立数 字时代的精益研发体系,提升规模化创新能⼒力力。近两 年年来,研究的重点放在数字化业务管理理的组织治理理与 动态投资组合管理理,最⼤大化投资成效。 2016年年翻译出版了了著作《精益企业》。 演进式架构 让架构可以快速跟上业务发展与技术⽣生 态变化,并保持稳定 变化 tech ecosystem 微服务研发平台落地 落地优秀实践,守护架构,降低微服务 研发学习成本 企业研发⼯工具链⽣生态 敏敏捷协作平台 部署发布 平台 持续交付流⽔水线平台 ⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架 构 设计 统⼀一协作平台 研发⼯工具连 为某企业做的微服务平台规划 关系 分析 代码 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 部分 产品、⼈人 员维护 定义通⽤用 约束条件 定义服务 约束条件 可视化设计 服务地图 关联变更更到需求 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计0 码力 | 42 页 | 2.95 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕高级技术专家 自我介绍 王昕,阿里中间件技术团队高级技术专家,阿里云开放云平台布道师。具有10多年软件 系统开发和架构经验,在分布式系统领域经验丰富,长期参与高可用中间件系统、云平 台基础管理系统和云原生自动运维系统的构建。在国内外有10多项授权和在审软件技术 发明专利,并多次受邀出席技术会议,做技术专题分享。 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 逻辑正确性不能依赖缓存,写操作服务端必须有校 验而且幂等,没有缓存情况下系统仍可服务 Ø 错误回复缓存,过期时间不能太长,而且有清晰的 修复建议 Ø 数据库更新与缓存失效的策略 最佳实践分享 有关配置文件 Ø 集群使用统一的配置来源 Ø 定义正常的默认配置,满足读取不到配置的正 常运行 Ø 支持可扩展的配置命令格式 Ø 尽量支持更改配置不需要重启服务 Ø 注意配置项之间的关联性 欢迎与我交流0 码力 | 44 页 | 2.47 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊用户:花了钱却饿着肚子 • 商家:出了餐却无人配送 • 骑手:投入的时间、劳动却少赚了钱 • 多业务线的共性与差异:专送、代理、众包⋯ • 运营复杂度高:定义科学的订单供给与运力结构,并精准调控 • 安全管理:用户安全、商家安全、骑手安全 履约SLA要求高,重线下业务运营 配送系统的技术定位与思路 初期造工具,解决能不能 长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 美团配送业务介绍 01 核心链路MVP、主流程跑通 • 按照粗领域拆分系统边界 • 按照三大信息流(人、财、物)划分系统 • 如何支撑快速试错: • 项目制; PM、RD = QA; 区分履约服务与运营服务 骑手APP 管理端 DB 资金 运单 人员 外卖系统 从零到一 外卖 配送 美团配送业务介绍 01 Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 规模化阶段 快速起量 系统质量、研发效率问题凸显 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长0 码力 | 31 页 | 15.26 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 译 镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 www.163yun 服务管理 www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致 减少沟通 某视频监控企业:IT资产沉淀与IT能力复用 持续集成 容器化 注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 生产集群 镜像 同步 镜像拉取 自 动 部 署 手 动 触 发 代码到线上全流程管理 互联网化接口测试,场景测试 灵活执行集:冒烟,日常,回归 定时测试,MOCK测试 测试,生产镜像仓库分离,自 动同步0 码力 | 39 页 | 3.06 MB | 1 年前3
共 28 条
- 1
- 2
- 3













