分布式 KV 存储系统 Cellar 演进之路客户端 分片1&2 log Cellar—异地容灾 • 多机房建设 网络延迟大 专线稳定性差 • 异地容灾需求 跨集群数据同步 Cellar—异地容灾 集群节点同步 消息队列同步 复制延迟 低 高 系统复杂度 低 高 运维成本 低 高 实现难度 高 低 扩展性 低 高 • 低延迟 • 低复杂度(运维成本) Cellar—异地容灾 • Cellar起源 • 中心节点架构演进 Cellar—快慢队列 网络 线程 工作队列 工作 线程 问题: 共用队列&线程 线上慢请求:超时请求 1: 20 Cellar—快慢队列 网络 线程 读快队列 读快 线程 TP999延迟降低86% 读慢队列 写快队列 写慢队列 读慢 线程 写快 线程 写慢 线程 慢请求判断: • 耗时接口(range···) • value过大 • 单请求key过多 • ··· •0 码力 | 34 页 | 1.66 MB | 1 年前3
分布式异地多活架构实践之路讯飞输入法异地多活解决方案 • 实际应用效果 • 未来规划 单机房遇到的问题 可用性低 响应时间慢 系统扩容难 可用性低 响应时间慢 系统扩容难 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法解决方案 • 实际应用效果 • 后续规划 技术挑战 几十毫秒的延迟; 跨机房性能较慢 机房天然延迟 专线费用高; 专线不稳定 跨机房专线问题 依赖小服务,有一 讯飞输入法解决方案 • 实际应用效果 • 未来规划 可用性 机房内故障 机房入口网 络故障 DNS问题 自动流量切换,业务 几乎没影响 10分钟迁移95%流量, 总体可控 几乎无劫持,延迟降低 20%,解析失败率率下 降15% 响应时间 优化前 优化后 系统扩容 北京IDC 合肥IDC 广州IDC 系统能够任意水平扩容 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战0 码力 | 36 页 | 1.66 MB | 1 年前3
从百度文件系统看大型分布式系统设计中的定式与创新文件系统 - The Baidu File System - 持久化存储 百度文件系统架构 设计一个分布式系统要考虑的 • 数据与计算的分片 • 分区故障容忍 • 数据一致性 • 系统扩展性 • 延迟与吞吐 • 成本与资源利用率 • … 数据与计算的分片 • 哈希分片 - 简单、均衡 - 扩容复杂、易用性差 - 一致性哈希、虚拟节点 • 按范围、数据量分 - 使用简单 - 需要管理元数据 一致性协议 - Paxos - Raft CAP到CAD的演变 • 必须容忍网络隔离 - CAP->CA • 跨地域的延迟 - CA->CAD/CAL • 多数情况下我们更重视可用性 - CAD->CD • 一致性与延迟的折衷 - 要求强一致的, 容忍延迟 - 要求低延迟的, 选择最终一致 提升系统扩展性 • 架构的可扩展性 - 拆分元数据节点 - 引入MetaServer 提升系统扩展性0 码力 | 24 页 | 937.45 KB | 1 年前3
ServiceComb 开源微服务框架技术演进之路 巨震支持多语言、传统微服务和新兴ServiceMesh微服务 架构混合场景部署 • 有大型成功商用案例 • 无商业强绑定,高自由度,企业自主可控 • 完整的生态栈,涵盖开源主流微服务运维和安全领域 • 低学习成本,有编程语言基础即可快速上手 华为开源 ServiceMesh方案 Mesher ServiceCenter Java-chassis ServiceComb Pilot 解决Java和PHP共存场景 传统与新兴微服务化方式共存 混合部署、协同治理 丰富的监控运维 细化到业务层面的微服务监控运维 遗留应用0改造 支持0侵入业务代码,使用成本低,对 原有业务无影响 开发方式不变 ServiceComb 服务注册中心 公众号 WebUI App Gateway ServiceComb SDK Mesher0 码力 | 20 页 | 861.58 KB | 1 年前3
海尔实时计算平台技术选型与实践zeppelin Saiku Caravel CBoard Nagios 实时数据采集技术选型要求 • 完整 • 低延时 • 不影响业务系统性能 代码埋点: • 优点:采集能力强 • 缺点:时间、人力成本大 实时数据采集-数据如何获取? 可视化埋点: • 优点:成本低,速度快 • 缺点:行为记录信息少,支持的分析方式少 • Flume 日志收集可选技术 • Fluentd0 码力 | 41 页 | 3.21 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践.reduce(0, (acc, data) -> acc + data); 流 - 性能 全异步、流式 CPU数个业务线程 更更少的上下⽂文切换、更更少(⽆无)的竞争、更更低的LOAD 业务等效依赖的异步并发 更更⾼高效的资源利利⽤用率 Universal Scalability Law 系统流⽔水线并⾏行行处理理 流 - 分布式 � ) �� �� �� 更更⾃自然的流式 ⽀支持业务直接返回 Flowable 3. 缓存(Cache) 4. 消息(Queue) * 天然异步 * 已有集成,或集成成本低 5. DB(JDBC)(Block) * ⽤用 Ali JVM协程 异步集成 * 或⽤用线程池异步集成 6. 限流组件 7. 分布式跟踪系统 解决业务异步/回调 引⼊入的 上下⽂文传递0 码力 | 27 页 | 1.13 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化五、政务服务系统架构小结与思考 5、技术路线选型,APP 还是 小程序? 对比项 微信小程序 政务APP 统一身份认证 无需注册直接登录,提供活体检测、人脸核身 需要注册,使用密码和手机盾认证 推广传播 下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 只需开发一套,组件丰富 每个端都得开发,标准化组件少 版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 完全自主可控 数据安全性 微信前端数据通过HTTPS传输 全业务流程数据传输监控 使用路径 微信端二级应用 一级入口 从技术的角度来比对,小程序和APP各具优势:小程序具备轻量级、跨平台、成本低、功能强和易传播的特征; 而APP则在产品自主可控、数据全程管控、使用路径更短、功能灵活多样方面更具优势。 6、探索需求 -- 分析可行性,选取合适的需求场景 什么需求适合进入第1版本? 1.0 码力 | 35 页 | 15.60 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造⽤用户画像和旅程系统功能⽤用户可视化 ⽤用户画像 ⽤用户旅程 已可视化 突出⽤用户信息,诉求和价值体现 还原业务场景 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 好的设计 低耦合 如果做到了了服务之间的松耦 合,那么修改⼀一个服务就不不 需要修改另⼀一个服务。⼀一个 松耦合的服务应该尽可能少 地知道与之协作的那些服务 的信息。 ⾼高内聚 就是把相关的⾏行行为聚 集在⼀一起,把不不相关 检验上⾯面的划分结果是否匹配,如不不匹 配则基于划分原则并结合业务重新调整 聚合。 使⽤用聚合的⽬目的是封装业务的不不 变性,同时强迫⼤大家尽可能的简 化领域模型之间的关联关系。在 业务层⾯面进⾏行行⾼高内聚,低耦合的 设计。 为什什么⽤用聚合? 划分限界上下⽂文 聚合示例例 添加 商品 商品 已创建 商品已 编辑 编辑 商品 商品销售 价格已编辑 编辑销 售 商品 已发布0 码力 | 54 页 | 3.85 MB | 1 年前3
数字货币交易系统架构 Python实现 黄毅as low sum(amount) as amount from trades group by 1 2 交易系统架构设计 交易系统架构设计-设计目标 • 吞吐量5w TPS, 延迟10ms • 能睡个好觉(数据持久化,数据最终一致性,容错) • 设计简单,运维方便 交易系统架构设计-关键点 • 内存撮合服务的状态持久化和高可用 • 消息处理顺序的保证 • 异步服务之间消息传送的可靠性0 码力 | 24 页 | 799.65 KB | 1 年前3
高性能高可用机票实时搜索系统舱位状态变化频繁 • 热点航线问题 • 计算量量巨⼤大 报价引擎 索引 搜索引擎核⼼心 • 规则库 => 索引库 • 规则库写⼊入量量⼤大,集群峰值达20K TPS • 要求同步延迟很低,不不超过60s • 保持顺序⼀一致性,如果先删后插变成 先插后删,数据会不不⼀一致 • 数据最终⼀一致 • 系统⾼高可⽤用 报价引擎 — 组织索引 北北 京 | 上 海海 成0 码力 | 26 页 | 1.94 MB | 1 年前3
共 15 条
- 1
- 2













