从百度文件系统看大型分布式系统设计中的定式与创新搜索基础架构 从百度文件系统 看大型分布式系统设计 自我介绍 • 颜世光, 专注于大规模分布式系统 • 代表作品 - 百度第三代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 Nexus 分布式数据库 Tera 分布式计算框架 Shuttle Apps(Spider/Index/Search) 数据中心操作系统(DCOS) • 进程调度&内存管理 - Galaxy - 应用部署和任务调度 • 锁和信号量 - Nexus - 分布式锁 - 分布式通知 • 文件系统 - The Baidu File System - 持久化存储 百度文件系统架构 设计一个分布式系统要考虑的0 码力 | 24 页 | 937.45 KB | 1 年前3
高可用与一致性:构建强一致性分布式数据库 TiDB-沈泰宁构建强⼀一致性分布式数据库 TiDB 沈泰宁 R & D Engineer @ PingCAP ⾃自我介绍 ⾃自我介绍 • 沈泰宁 • R&D Engineer @ PingCAP • Maintainer • rust-prometheus • grpc-rs • … ⽬目录 • What is TiDB? • How to test? What is TiDB? Single0 码力 | 45 页 | 4.63 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地component microservice container ⼤大泥泥球 ⼤大量量⼦子尺⼨寸的应⽤用阻碍频 繁增量量变更更,因为⾼高耦合 性需要⼀一次部署⼤大量量代码、 ⼤大量量的应⽤用。 单例例架构 ⾮非结构的单例例架构 user interface Class Class Class Class Class Class Class Class Class Class Class database component component component component component component component component component 分层单例例架构 微内核与插件架构 std std std std std std 事件驱动架构 Broker Meditator 微服务架构 checkout module module module database API layer client requests client requests client requests 向以“领域”为中⼼心的架构迁移 演进数据库 (like code) — Tested — Versioned — Incremental scripting all db changes incrementally db0 码力 | 42 页 | 2.95 MB | 1 年前3
联想-贺钢架构工作在国际化项目中的应用实例来自法务的问题 • 来自安全部门的问题 数据中心最终方案 用户访问量对应的web架构 用户访问量 服务器架构 百万以下 单台或多台的简单架构,可以简单通过升级服务器 配置支持更多用户 百万到千万 增加Nginx(反向代理)或DNS负载均衡,redis内存 cache,数据库(Mysql)多台(数据在一个数据中心) 千万到亿 增加Web服务器内存缓存,集群,IP负载均衡,基于内 容请求分发,Mysql优化(如减少写 Mysql优化(如减少写,2/8原则),数据在 一个数据中心 亿以上 增加异地部署(建议核心点集中,其它节点分散开),较 难分割或核心数据在同一数据中心,其它分散到不 同的节点 对架构设计的影响II -- 数据库表设计 数据库表早期设计 ID ... Type Name Size Create Date … 1 … 1 1.doc 432437 2014-05-04 … 2 … 1 Test.txt 2849 Threat Model 端到端的安全设计I 端到端的安全设计II 端到端的安全设计III 端到端的安全设计IV 端到端的安全设计 • 只Admin可以写(避免提升权限) • 验证配置文件(如xml)的签名 • 专业工具扫描 总结 • 国际化项目的特点导致架构工作的不同 • 一些应用实例 一句话分享 • 不要用战术上的勤奋来弥补战略上的懒惰0 码力 | 53 页 | 2.36 MB | 1 年前3
分布式 KV 存储系统 Cellar 演进之路分布式KV存储Cellar演进之路 美团点评·基础架构 齐泽斌 美团点评基础架构部,存储研发团队负责人 • Cellar:分布式KV存储服务 • Databus:数据库变更实时传输服务 • Venus:图片服务 11年毕业于天津大学 11 年到 14 年任职于百度,负责分布式文件系统和 KV 存储系统研发 有多年分布式存储研发经验 个人简介 • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 读快队列 读快 线程 TP999延迟降低86% 读慢队列 写快队列 写慢队列 读慢 线程 写快 线程 写慢 线程 慢请求判断: • 耗时接口(range···) • value过大 • 单请求key过多 • ··· • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 系统研发 • 异地多活 • 跨机房自动容灾 • 磁盘粒度容灾0 码力 | 34 页 | 1.66 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造如何进⾏行行事件⻛风暴暴? 事件:领域专家关⼼心的,在业务上真实 发⽣生的事 例例1: 客户订单已提交 例例2: 对账已完成,每⽉月末夜间触发 1. 确定要进⾏行行事件⻛风暴暴的业务场景,场景需要单 ⼀一⽽而且清晰; 2. ⽤用“XXX已XXX”的格式在橙⾊色便便利利贴上写下事 件,⼯工作坊参与者需要对事件定义达成⼀一致; 3. 根据时间顺序把事件便便利利贴贴到⽩白板上; 4. 如果⼀一个事件有同步发⽣生的其它事件,把其它 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 已编辑 商品 已发布 商品销售 价格已编辑 订单 已发货 补货申请 单已创建 补货申请 单已审批 ⼊入库单 已创建 ⼊入库单 已⼊入库 订单 已签收 订单已 确认收货 仓库库存 已扣减 仓库库存 已增加 商品已 编辑 退货单已 创建 退货单已 审核 订单已 退货 ⼊入库单 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 寻找命令 事件⻛风暴暴 命令⻛风暴暴 寻找聚合 什什么是命令? 为什什么⽤用命令? 如何进⾏行行命令⻛风暴暴? 命令:什什么活动产⽣生了了事件 例例1: 提交客户订单 例例2: 启动夜间对账 事件是业务上的输出,命令是业务0 码力 | 54 页 | 3.85 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践Oracle Nginx keepalived 数据库双机 网络分发层 业务处理 渠道适配器 交易预处理 交易预检查 交易风控 交易路由 通知 响应 查询 通道 交易拆分 业务2.0痛点 BUSINESS 2.0 PAIN POINTS 业务野蛮发展 交易量高速增加 并发请求增加 交易响应速度过慢 数据库单表 数据量剧增 模块耦合度高 开发效率低下 … BUSINESS 3.0 VISION 实时交易环境 非实时交易环境 通 道 A 通 道 B 通 道 C 通 道 D … 通 道 A 通 道 B 通 道 C 通 道 D … 单 笔 代 收 单 笔 代 付 快 捷 鉴 权 短 信 批 量 代 收 交 易 查 询 批 量 代 付 批 量 代 收 交 易 查 询 分而治之 DIVIDE AND RULE IT 线上环境突发事故,第一时间如何决策减少事故影响范围? 开发人员排查问题速度过慢? 随着业务的增长,问题越来越多,第一优先级需要解决什么? 系统突然CPU、内存利用率暴增,如何定位代码? 数据库连接数被耗尽,怎么办? 各种OOM如何预防? 随着系统交易量的增加,高可用系统的设计点很多,如何快速抓住建设要点? 有哪些困惑 WHAT IS THE CONFUSION 需求设计阶段- 首次拦截0 码力 | 35 页 | 6.05 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践设计要点四:服务拆分与服务发现 www.163yun.com 设计要点亓:数据库横向扩展 www.163yun.com 设计要点六:缓存的设计 APP缓存 CDN 接入层 静态资源 动态资源静态化 应用本地缓存 分布式缓存 数据库为中心 缓存为中心 www.163yun.com 设计要点七:消息队列与异步化 筛选 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 译 镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 镜像 构建 集成 测试 部署 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 生产集群0 码力 | 39 页 | 3.06 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+营销平台 埋点 基础服务 会员系统 资金存管 账户中心 Pc Web 支付/钱包 外 部 系 统 流控 熔断 限流 版本 更多... 标签 用户 管理平台 产品 理财单 渠道 版本 5G 措施:剥组件,拆单体,合冗余 移动后台打散 轻业务上浮 重业务下沉 API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 non-blocking sync、lock,cas 额度、库存、积分、优惠券… CAP 数据竞争� [sql方案示例] 乐观锁,带来重试代价 悲观锁,开销大,吞吐量差 数据库锁(全局标识拦截): update product set stock=stock-X where zabbix,datagod, prometheus… apm工具,商业产品 期望更轻量、无侵入性的业务监控 cat,elk,zipkin等 趋于个性 具有共性 中间件/缓存/数据库/代理/MQ... OS/网络/存储/防火墙... 应用/框架/业务逻辑/系统间调用 自研日志监控[轻量无侵入] Kafka Kafka Spout 策略 Cache 系统配置 预处理bolts0 码力 | 42 页 | 19.96 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进几何算法 通用框架机制 通用算法 CAD/BIM UI 图元绘制 显示层 应用层 CAD识别 BIM模型转换 模型编辑 批量操作 CAD模型 BIM模型 模型数据库 gcad文件 gfc文件 数据库 算量模型持久化 CAD模型持久化 BIM模型持久化 …... 构件模型 …... …... …... …... …... …... 平法模型 钢筋模型0 码力 | 33 页 | 1.25 MB | 1 年前3
共 28 条
- 1
- 2
- 3













