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

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

ID:38825263

大小:2.77 MB

页数:19页

时间:2019-06-19

高可用数据服务交易系统架构实践_第1页
高可用数据服务交易系统架构实践_第2页
高可用数据服务交易系统架构实践_第3页
高可用数据服务交易系统架构实践_第4页
高可用数据服务交易系统架构实践_第5页
资源描述:

《高可用数据服务交易系统架构实践》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、高可用数据服务交易系统架构实践SDMK=SmartDataMarketSDMK提供了API服务,人群数据服务,异步服务等内容;还开放了Lookalike,情景感知,预测引擎,推荐引擎等人工智能服务;降低数据应用场景的难度,帮助更多企业发现数据的深层价值。SDMK的功能模块BackEndPagePaymentWalletTDAccountReportAuditCenterHumanUIWebsiteChargingFrontEndPageLog(inElasticSearch)OMAccountCacheddata(inRedis)AsyncGate

2、wayStorageServiceMgmtFileServiceMessagePersistentdataQueueMetering(inMySQL)(byKafka)ServiceGatewayAdaptor(TD&3rd)业务流程服务调用基本业务逻辑AccountMeteringService用户Gateway验证身份和购买校验身份检查配额查已用量可用性挑战要求•计量最终误差要求不高于0.01%•交易系统可用性要求不低于99.9%0.01%99.9%准确计量要求1.计量准确无误2.交易-计量闭环,要求高并发下实时计量3.容错性故障恢复异

3、步计量1.减少系统耦合高并发2.降低数据库压力3.应对高并发4.易于扩展准确准确计量初始架构:实现功能14UserGatewayService5LogStorage&2Calculation3Charging准确计量架构演进:提高效率14UserGatewayService52LogStorage&MessagePermanentCalculationQueueStorage63MeteringCharging3Cache准确计量Lambda消息队列调用日志•主数据集(不变层):ElasticSearch中的日志•批处理层结果:MySQL中按

4、天存储的用量•速度层:Redis中的当天和昨天结果实时视图批处理层主数据集•服务层:按天进行预计算•查询服务:Metering模块实时视图速度层计算结果的开-闭原则批处理批处理批处理视图视图视图实时视图多种计量指标同时计算,按需取用用户X购买的Y服务还剩多少?准确计量架构演进:服务降级与重算14UserGatewayService52LogStorageMessagePermanentQueueStorage63MeteringChargingCache3高可用性挑战:可用性目标1级整体服务的高可用性,99.9%(不可用时间每年低于9个小时,

5、每月低于1小时)1.【事前】预防2.【事中】自动化故障转移感知3.【事中】故障感知4.【事后】故障恢复故障转恢复移发生预防高可用性分布式部署,无状态设计1.所有服务通过nginx调用,多upstream,轮询机制2.服务无状态,必要的状态保存在中央存储中(MySQL/Redis等)3.所有调用必须带trackid,以便定位问题,缩短故障恢复时间Instance1NginxInstance2CallerNginxServiceInstancen高可用性降低关键路径复杂性与负载对于SDMK来说,关键路径就是通过Gateway进行的服务调用1.专注于

6、核心业务,尽量少加入无关的复杂逻辑与数据依赖2.调用其它服务均需设置超时,避免被外部服务故障影响适时拆分和合并功能模块1.降低模块复杂度2.清晰部署边界高可用性资源限制对资源的使用进行限制,避免无效或者故障调用耗尽资源1.熔断机制2.限制用户处于pending状态的请求数3.分服务SLA4.独立适配器用户A可服务S1用资源服务S2SDMK可用资源高可用性使用消息系统消息系统的选择解耦1.数据可持久化2.支持订阅和队列两种方式3.高性能应用易4.具有水平扩展性缓冲扩展支持故障恢复高可用性监控与报警白盒1.所有服务上线之前必须有基本监控与报警2

7、.基础组件监控与报警3.业务指标监控与报警业务4.调用追踪系统追踪组件服务高可用性监控与报警黑盒1.Nginx监控与报警2.探针和心跳监控3.外部可用性(端到端)监控与报警监控端到端SDMKNginx(内)用户服务探针Nginx(外)数据服务高可用性减少更新带来的故障灰度系统的使用1.基于用户标识和Lua的Nginx分流2.SCM系统的配合3.与探针结合使用灰度SDMK用户Nginx数据服务Lua探针SDMKTHANKS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。