海量用户推送后台系统架构实践-曾振波In导致相互影响,更新升级难度大 • 功能按照业务拆分解耦 • 数据和业务分离 • 快速迭代 • 模块间通过MQ/RPC交互 极光推送后台系统架构 01 Segment Conn StatCenter OnlineMsg 异步化 • 充分利用资源,减少请求等待时间,提升系统吞吐量 • 消息化请求 • MQ - RabbitMQ, RocketMQ • 模块间解耦 • IDC数据同步 • 异步RPC 并行化 • 横向扩展处理能力 • 数据分片存储 • 多节点+分片+多副本架构 • 数据读写动态路由 • 请求并行处理 • 模块级别并行 • 代码级别并行 极光推送后台系统架构 03 MQ Segment OnlineMsg OnlineMsg OnlineMsg Data0-0 Data0-1 Data1-0 Data1-1 Data2-0 Data2-1 Mng0 Mng2 极光推送后台系统架构 M Q M Q IDC3 Conn IDC1 API Segment PushTask XPNS MQ MQ IDC4 Conn IDC5 Conn IDC2 API Segment PushTask XPNS MQ MQ IDC6 Conn 系统安全 • 网络安全 • 对外业务隔离,异地多机房部署,健康检查,业务快速部署及调度 • 通信安全0 码力 | 23 页 | 1.26 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+AND/IOS/H5/Open 静态站 网贷服务 借款流程 Cache集群 安全加密 网贷服务 CDN 支付结算 订单 DB从 批 处 理 系 统 活动 DB主 DB从 版本管理 产品 ... 同步 …... 网站、基础服务 移动后台 业务和团队规模迅速扩张 粗粒度服务化,基础设施完善 CDN/页面缓存/静态站/缓存集群 移动后台旁路 流程double,冗余开始出现 智能DNS,DNS负载均衡 限流(limit,lua),openresty,4层/7层LB 弹性扩容,限流(token),熔断,防刷 降级,熔断,弹性扩容 多IDC,区域容灾,多ISP 集群,高可用,分片 本地缓存,防刷,流控 终端 域名 机房 LB / NG.. 网关 Cache 服务 抓大不能放小[细节决定成败] 线程阻塞>300 中间件内存管理、线程状态,连接状况 zabbix,datagod, prometheus… apm工具,商业产品 期望更轻量、无侵入性的业务监控 cat,elk,zipkin等 趋于个性 具有共性 中间件/缓存/数据库/代理/MQ... OS/网络/存储/防火墙... 应用/框架/业务逻辑/系统间调用 自研日志监控[轻量无侵入] Kafka Kafka Spout 策略 Cache 系统配置 预处理bolts0 码力 | 42 页 | 19.96 MB | 1 年前3
高性能高可用机票实时搜索系统分布式 分级缓存 ⽆无状态 搜索框架 PriceMerger 报价引擎 供应商直连 旗舰店 CacheManager 抓取 App WWW Touch 分销 Cache Redis MQ MQ 航班数据 运价数据 应⽤用层 聚合层 报价源 基础数据 搜索框架 遇到问题 解决⽅方案 • 报价数量量多,内存问题 • 报价源多,不不稳定 • 响应时间要求苛刻 • 搜索条件有热点 • DB读写压⼒力力⼤大 • 舱位状态变化频繁 • 热点航线问题 • 计算量量巨⼤大 报价引擎 索引 搜索引擎核⼼心 • 规则库 => 索引库 • 规则库写⼊入量量⼤大,集群峰值达20K TPS • 要求同步延迟很低,不不超过60s • 保持顺序⼀一致性,如果先删后插变成 先插后删,数据会不不⼀一致 • 数据最终⼀一致 • 系统⾼高可⽤用 报价引擎0 码力 | 26 页 | 1.94 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔指标规则计算 指标脚本 规则表达式 熔断 降级 条件 计算 降级消息 数据 存储 实时告警 规则配置 开发 ⽇日志解析规则 控制中⼼心 ETCD 降级服务 降级处理理 流处理理集群(Flink) HBase ES Redis 落地存储 数据服务 数据平台 实时告警 告警策略略 指标查询 指标脚本开发 指标配置 产品化 开发 复合指标计算如何处理理 系统设计 Agent Core Custom Code Model Burn CPU Servlet Module MySQL Module DSF Module MQ Module Redis Module Attach Method Event 故障演练 管理理后台 Agent 控制指令、参数下发、故障注⼊入 Jetty MGT API0 码力 | 26 页 | 18.67 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道Producer1 MQ Mock 通过本地JVM自带BlockingQueue队列模拟分布式队列, 提供消息的发布、暂存、订阅、消费处理能力 代理门面 将MQ的调用用代理模式做一层封装。 开关机制 支持多级开关切换 消息预取 通过消息预判定,解决找不到消费者导致消息被抛弃 的问题。 优势:能用极低的资源损耗实现单机环境下对分布式 MQ服务的仿真模拟 分布式MQ服务 Producer2 …. 内存队列1 内存队列2 内存队列3 Selector GroupN Group2 Group1 Consumer1 Consumer2 Consumer3 …. 单机MQ Mock服务 Topic1 Topic2 Topic3 Thread Map> 分布式缓存Mock Memcached 采用普通的ConcurrentHashMap类进行 data2 … … 其它分布式服务的调测支持 对象存储 1.分布式环境下,为不同开发团队/人员配置独立的文件路径(Direction、Bucket)可以有效进行资源隔离。 2.单机环境下,可以参考MQ,采用本地File I/O实现的存储机制来mock 。 DataBase SandBox 1.为每个开发人员或测试人员提供一个单独(schema/catalog)的测试数据库。 2.预置数据 0 码力 | 19 页 | 2.74 MB | 1 年前3
分布式异地多活架构实践之路控制同步的大小 专线与公网互相容灾 环形同步路径容灾 Push无状态数据 CRSync异步同步 Service实时同步 北京IDC 合肥IDC 广州IDC 最终一致性 MQ 消息接口 消息状态库 定时补偿 MQ 监控 sdk Service 消息状态上报 调用重试/查询接口 同步消息管理服务 全局消息id生成 消息管理(预写、删除等) 重试、查询、监控接口 sdk CRSync 主从模式 主从模式 主机房 从机房 MQ Service Cache Processor DB CRSync 管理平台 MQ Cache Processor CRSync Web Service Web Task Service GSLB 就近接入 就近接入 专线/公网 多主模式同步 多主模式同步 主机房 主机房 MQ Service Processor Processor DisFS CRSync MQ Processor CRSync Web Service Web GSLB 用户分片&就近接入 用户分片&就近接入 DisFS 用户路由 用户路由 会话验证 会话验证 专线/公网 漫游 汇聚模式 从机房 主机房 Service Flume CRSync CRSync Service GSLB 就近接入 就近接入 Flume0 码力 | 36 页 | 1.66 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践www.163yun.com 设计要点十一:全链路监控 www.163yun.com 设计要点十二:全链路压测 www.163yun.com 微服务平台总览 容器平台 (多集群基础设施) Pod & Deployment 网络 Calico, OVS 存储 Ceph 滚动更新 弹性伸缩 日志中心 基础设施监控 开 发 集 群 测 试 集 群 com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 镜像 构建 集成 测试 部署 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 生产集群 镜像 中台化 容器化 注册发现 www.163yun.com 网易容器平台优势 集群规模大:30000+节点 生产检验时间长:国内首个K8S公有云容器平台稳定运行1000+天 全球首批通过K8S一致性认证 基于OVS的网络性能优化 基于Ceph的存储性能优化 多集群统一管理 www.163yun.com 某物流企业 www.163yun.com 线上0 码力 | 39 页 | 3.06 MB | 1 年前3
从百度文件系统看大型分布式系统设计中的定式与创新百度文件系统BFS - 万亿量级实时数据库Tera - 集群调度系统Galaxy • 个人主页&Blog - https://github.com/bluebore - http://bluebore.cn 提纲 • 百度文件系统简介 • 分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu Stack 网络通信框架Sofa-pbrpc 分布式文件系统 BFS 集群调度系统 Galaxy 分布式协调服务 Nexus 分布式数据库 Tera 分布式计算框架 Shuttle Apps(Spider/Index/Search) 数据中心操作系统(DCOS)0 码力 | 24 页 | 937.45 KB | 1 年前3
高可用分布式流数据存储设计-李玥IOThreads 收到复制响应 Pending Callbacks ResponseThreads 发送响应 Journal Cache Journal Files 线程模型 集群 · 架构 没有最好的架构,只有最合适的架构 取 · 舍 学会 ⽅得始终 取 舍 从实用角度出发,如何取舍? Consistency ⼀一致性 Availability 可⽤用性 ⼤大促限流 Complexity 复杂度 Apache ZooKeeper “程序员都喜欢ZooKeeper,但用户正相反” 可维护性问题 多机房部署时可⽤用性问题 数据容量量有限,集群规模有限 选举恢复速度慢,不不可⽤用时间较⻓长 John Ousterhout Diego Ongaro “In search of an understandable consensus 牺牲可⽤用性换取⼀一致性 性能⼀一般 集群规模不不能太⼤大 Raft总结 读请求分流 顺序⼀一致 已提交位置之前的⽇日志具有不不变性。 对于提交的⽇日志,相同位置上Follower的⽇日志和Leader上是⼀一样的。 强⼀一致 如果两个节点上的⽇日志完全相同,并且这些⽇日志都已经被状态机执 ⾏行行,那么这两个节点的状态是相同的。 集群节点数越多性能越好吗? NO 引⼊入Observers0 码力 | 36 页 | 6.02 MB | 1 年前3
分布式 KV 存储系统 Cellar 演进之路固定HASH算 法 固定数目 数据分片 桶->存储节点 对照表 Cellar起源—Tair架构 服务层 请求 mdb 响应 ldb fdb rdb 引擎层 迁移 复制 • 中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 开源 Tair • Cellar起源 回写增量log 分片2复制 分片2复制 分片1复制 客户端 分片1&2 log Cellar—异地容灾 • 多机房建设 网络延迟大 专线稳定性差 • 异地容灾需求 跨集群数据同步 Cellar—异地容灾 集群节点同步 消息队列同步 复制延迟 低 高 系统复杂度 低 高 运维成本 低 高 实现难度 高 低 扩展性 低 高 • 低延迟 • 低复杂度(运维成本) Cellar—异地容灾0 码力 | 34 页 | 1.66 MB | 1 年前3
共 19 条
- 1
- 2













