分布式异地多活架构实践之路讯飞输入法异地多活架构实践之路 凌 军 自我介绍 • 凌军 • 2010年加入科大讯飞 • 讯飞输入法、灵犀语音助手等产品服务端架构负责人 • 科大讯飞消费者BG基础平台架构负责人 产品介绍 • 稳居国内输入法第一阵营 • 2010-10~至今 • 4亿用户 • 1.1亿月活 来自:中国科学院《互联网周刊》 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些挑战 • 业务分类 业务举例 业务特点 场景归类 核心业务 皮肤、表情、资源、广告、应用墙译等 读多写少 主从模式 (单点写,多点读) 用户个性化数据同步、账号等 读写均衡 多主模式 (多点读写) 分布式日志收集等 写多读少 汇聚模式 (多点写,单点读) 内容统计指标获取、内容榜单等 读写均衡 混合模式 (多点写,单点读, 单点写,多点读) 非核心业务 老版本兼容服务、运营活动、配置、管 设计思路 核心业务异地多活 精准流量调度 数据同步 多元化 最终一致性 依赖关系优化 配套系统支撑 主 从 多 主 汇 聚 混 合 场景区分 封装屏蔽细节 容量合理规划 当前总体架构 合肥 北京 广州 HTTPDNS 智能DNS GSLB GSLB Servers Servers Servers MS MS GSLB MS 上报/探测 上报 上报 上报/探测 上报/探测0 码力 | 36 页 | 1.66 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 DB Cluster 连接 序列化 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务逻辑发生变化了,但负责它的团队没有通知到 我,结果上线后直接导致生产事故。 5. 我和其他团队共用一套分布式缓存服务,为了防止数据覆盖, 我只能和别人轮流排队上线调试,我等了一天,结果只能用一 个小时。 6. 我写了个消息Consumer,布到线上准备测测,结果,别人的消 息先到了,一下把我的预置数据全搞乱了…0 码力 | 19 页 | 2.74 MB | 1 年前3
Nacos架构&原理阿里云开发者“藏经阁” 海量电子手册免费下载 特别鸣谢: 目录 作者 6 推荐序 7 前⾔ 9 序言 9 简介 13 Nacos 简介 13 Nacos 架构 17 Nacos 总体设计 17 Nacos 架构 17 Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 卿亮 许进 7 > 推荐序 推荐序 阿里巴巴合伙人 - 蒋江伟(小邪) 随着企业加速数字化升级,越来越多的系统架构采用了分布式的架构,主要目的是为了解决集中化 和互联网化所带来的架构扩展性和面对海量用户请求的技术挑战。这里面其中有⼀个关键点是软负 载。因为整个分布式架构需要有⼀个软负载来协作各个节点之间的服务在线离线状态、数据⼀致性、 以及动态配置数据的推送。这里面最简单的需求就是将⼀个配置准时的推送到不同的节点。即便如 个计算节点,这是当时提出的⼀个要求,围绕这个要求,系统要做大量的研发和改造,类似的这种 关键的技术挑战点还非常非常的多。本书就是将面对复杂的分布式计算场景,海量并发的业务场景, 对软负载⼀个系统的进行阐述,通过 Nacos 开源分享阿里软负载最佳实践,希望能够帮助到各位开 发者,各位系统架构师,少走弯路。 阿里巴巴云原生应用平台负责人 - 丁宇(叔同) 在阿里中间件开源、自研、商业三位⼀体的战略中,微服务0 码力 | 326 页 | 12.83 MB | 9 月前3
分布式任务系统cronsun@Copyright Sunteng Technology 分布式任务系统 cronsun 苏创绩 @Copyright Sunteng Technology 目录 01 任务系统 02 分布式任务系统 03 cronsun 04 心得体会 @Copyright Sunteng Technology Part One 01 任务系统 @Copyright Sunteng Technology Part Two 02 分布式任务系统 @Copyright Sunteng Technology 分布式系统的特点 1. 分布性 2. 对等性 3. 并发性 4. 缺乏全局时钟 5. 故障总是会发生 @Copyright Sunteng Technology 分布式 cron 分布式crond 分布式crontab cmd1 cmd2 cmd3 Chronos Chronos 是一个运行在 Mesos 之上的具有分布式容错特性的作业调度器 @Copyright Sunteng Technology Dkron 分布式高可用的任务调度系统 @Copyright Sunteng Technology 我眼里的“西施” 1. 可替代 cron 2. 分布式、高可用 3. 支持多种任务属性 4. 易用 5. 易部署 @Copyright0 码力 | 48 页 | 1.52 MB | 1 年前3
微服务架构云端应用0 码力 | 32 页 | 864.40 KB | 1 年前3
领域驱动设计&中台/领域驱动架构透析与架构解耦领域驱动架构的演进 03 DDD与C4模型 04 DDD与RUP 4+1视图 领域的边界 整洁架构 六边形架构 微服务架构 领域驱动架构的演进 经典的DDD分层架构 经典的DDD分层架构 经典的三层架构 避免贫⾎血模型 与基础设施的解耦 与基础设施的解耦 前后端的解耦 引⼊入应⽤用层 基础设施层的本质 DDD与C4模型 C4模型 分层架构 六边形架构 DDD与RUP0 码力 | 29 页 | 3.02 MB | 1 年前3
Rust分布式账务系统 - 胡宇第三届中国 Rust 开发者大会 Rust 构建分布式账务系统 在 Fintech 公司落地 Rust 项目的经验分享 Airwalle x 胡宇 Airwallex 我们是一家跨境支付领域的 Fintech 独角兽 关于我们 E2 轮 Fintech 独角兽,业务遍布全球 关于我们: Airwallex 墨尔本 新加坡 伦敦 深圳 香港 北京 旧金山 上海 东京 提供高效,低成本的数字银行服务 关于我们: Airwallex 从设计架构到实现细节 项目介绍 分布式账务系统 Fintech 互联网 正确性 bug= 资损 bug 不可怕,快速迭代 可靠性 丢数据 = 资损 允许数据丢失 性能 超低延迟 + 高吞吐 超高吞吐 交易日志 审计,监管 调试使用 分布式账务系统 Fintech 领域中的软件与互联网软件的不同 需求分析 支付处理: 高可用:在部分节点失效的情况下,依旧可以提供正确的 服务 超低延迟:实时交易,超低响应延迟 水平扩展性:利用分布式事务实现钱包集群的的水平扩 展,应对高达 100 万 TPS 的流量 可演化性:业务逻辑与底层 API 解耦,当业务发生改变 时,底层 API 不用改变 分布式账务系统 设计理念 - Rust 是我们可靠的基石 分布式账务系统 存算分离 API 解耦 读写分离 层级账号 Rust ● 事务层与账户层分0 码力 | 27 页 | 12.60 MB | 1 年前3
微服务架构及ServiceComb实践https://github.com/apache?q=servicecomb 微服务架构及ServiceComb实践 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 什么是微服务架构? 一个既“简单”的又“强大” 的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 降级(隔离、熔断、容错) g) 分布式跟踪 • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要? • 每个微服务有自己的数据库(层) • 服务架构应用的质量很大程度取决 微服务同步到订单系统,该同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 事务性消息发布(一次仅一次),分布式事务等 很易用的服务间saga事务方案Servicecomb-Pack: https://github.com/apache/servicecomb-service-pack [社区网站] http://servicecomb0 码力 | 14 页 | 2.04 MB | 1 年前3
4 seata-golang 分布式事务框架微信号: scottlewis 分布式事务框架 Seata-Golang 刘晓敏 H3C ⽬ 录 Demo 演示 01 Seata 原理 02 Mysql driver 原理 03 Mysql driver 接⼊ 04 TODO & QA 05 分布式事务就是指事务的参与者、⽀持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系 统的不同节点之上。简单的说,就是 统的不同节点之上。简单的说,就是⼀次⼤的操作由不同的⼩操作组成,这些⼩的操作分布在不同的服务器 上,且属于不同的应⽤,分布式事务需要保证这些⼩操作要么全部成功,要么全部失败。本质上来说,分布 式事务就是为了保证不同数据库的数据⼀致性。 什么是分布式事务问题? Demo 演示 整体机制: • ⼀阶段:业务数据和回滚⽇志记录在同⼀个本地事务中提交,释放本地锁和连接资源。 • ⼆阶段: • 提交异步化,⾮常快速地完成。0 码力 | 14 页 | 3.23 MB | 1 年前3
华为云分布式事务DTM最佳实践github.com/apache?q=servicecomb 华为云分布式事务DTM最佳实践. 王启军 2 github.com/apache?q=servicecomb servicecomb.apache.org 王启军,华为云PaaS团队架构师,负责微服 务框架的开发。曾任当当网架构师,主导电商平台 架构设计;曾就职于搜狐负责手机微博的研发。 《持续演进的Cloud Native》作者,微信公众号 com/apache?q=servicecomb servicecomb.apache.org 分布式事务管理中间件 (Distributed Transaction Management,DTM) 7 github.com/apache?q=servicecomb servicecomb.apache.org DTM总体架构(TCC) Client DTM-Client (发起者) Service0 码力 | 15 页 | 3.10 MB | 1 年前3
共 395 条
- 1
- 2
- 3
- 4
- 5
- 6
- 40













