高可用数据服务交易系统架构实践.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高可用数据服务交易系统架构实践 主讲人:TalkingData 研发总监 何坤 SDMK = Smart Data Market SDMK提供了API服务,人群数据服务,异步服务等内容;还开放了Lookalike,情景感知,预测引擎,推荐引擎等人工智能服务;降低数据应用场景的难度,帮助更多企业发现数据的深层价值。 SDMK的功能模块 Back End Page Human UI Website Front End Page Async Gateway File Service Message Machine UI Queue (by Kafka) Gateway  Payment Wallet Config Assistant Charging OM Account Config Calculation Service Mgmt Metering  Report Audit Log (in ElasticSearch) Cached data (in Redis) Storage Persistent data in MySQL) Adaptor  TD Account Center External Rely Service (TD3rd) 业务流程 服务调用基本业务逻辑 用户 Gateway Account Metering Service 验证身份和购买 校验身份 N 鉴权通过 调用 检查配额 查已用量 N 尚有余量 调用服务 数据服务 推送调用结果 更新计量 可用性挑战 要求 计量最终误差要求 不高于 0.01% 交易系统可用性要求 不低于 99.9% 0.01% 1% 99.9% 准确计量 要求 计量准确无误 交易-计量闭环,要求高并发下实时计量 容错性 异步计量 减少系统耦合 降低数据库压力 应对高并发 易于扩展  故障恢 复 高并发 准确 准确计量 初始架构:实现功能 1  4 User  Gateway  Service 5 Log Storage Calculation 3 Charging 准确计量 架构演进:提高效率 1 4 User Gateway Service 5 2 Log Storage Message Permanent Calculation Queue Storage 6 3 Charging Metering 3 Cache 准确计量 ? Lambda 消息队列 调用日志 主数据集(不变层):Elastic Search中的日志 批处理层结果:MySQL中按天存储的用量 ? 速度层:Redis中的当天和昨天结果 实时视图 批处理层 主数据集 ? 服务层:按天进行预计算 ? 查询服务:Metering模块 实时视图 ? 计算结果的开-闭原则 速度层 批处理 批处理 批处理 实时视图 视图 视图 视图 多种计量指标同时计算,按需取用 服务层 用户X购买的Y 服务还剩多少? 准确计量 架构演进:服务降级与重算 1 4 Service User Gateway 5 2 Log Storage Message Permanent Queue Storage 6 3 Metering Charging  3  Cache 高可用性 挑战:可用性目标1级 整体服务的高可用性, 99.9%(不可用时间每年低于9个小时,每月低于1小时) 1. 【事前】预防 感知 2. 【事中】自动化故障转移 3. 【事中】故障感知 4. 【事后】故障恢复 故障转 移 发生  恢复 预防 高可用性 分布式部署,无状态设计 所有服务通过nginx调用,多upstream,轮询机制 服务无状态,必要的状态保存在中央存储中(MySQL/Redis等) 所有调用必须带trackid,以便定位问题,缩短故障恢复时间 Instance 1 Nginx Instance 2 Caller Nginx Service Instance n 高可用性 降低关键路径复杂性与负载 对于SDMK来说,关键路径就是通过Gateway进行的服务调用 专注于核心业务,尽量少加入无关的复杂逻辑与数据依赖 调用其它服务均需设置超时,避免被外部服务故障影响 适时拆分和合并功能模块 降低模块复杂度 清晰部署边界 高可用性 资源限制 对资源的使用进行限制,避免无效或者故障调用耗尽资源 1. 熔断机制 2. 限制用户处于pending状态的请求数 3. 分服务SLA 4. 独立适配器 服务S1 服务S2  用户A可 用资源 SDMK可用资源 用户B可 用资源 高可用性 使用消息系统 消息系统的选择 解耦 1. 数据可持久化 2. 支持订阅和队列两种方式 3. 高性能 应用易 4. 具有水平扩展性 Kafka 缓

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档