电脑桌面
添加微风文库到电脑桌面
安装后可以在桌面快捷访问

【T112017-数据工程和技术分会场】高可用数据服务交易系统架构实践.pdf

【T112017-数据工程和技术分会场】高可用数据服务交易系统架构实践.pdf_第1页
1/19页
【T112017-数据工程和技术分会场】高可用数据服务交易系统架构实践.pdf_第2页
2/19页
【T112017-数据工程和技术分会场】高可用数据服务交易系统架构实践.pdf_第3页
3/19页
高可用数据服务交易系统架构实践主讲人:TalkingData 研发总监 何坤SDMK = Smart Data MarketSDMK提供了API服务,人群数据服务,异步服务等内容;还开放了Lookalike,情景感知,预测引擎,推荐引擎等人工智能服务;降低数据应用场景的难度,帮助更多企业发现数据的深层价值。Config & AssistantExternalRelyConfig & CalculationHuman UIMachine UIStorageSDMK的功能模块GatewayService(TD&3rd)Log (in ElasticSearch)ChargingPersistent data( in MySQL)Cached data (in Redis)MeteringMessage Queue(by Kafka)AdaptorAccountTD Account CenterAsyncGatewayFile ServiceService MgmtPaymentWalletReportAuditWebsiteFront End PageBack End PageOM业务流程Ø 服务调用基本业务逻辑用户GatewayAccountMeteringService验证身份和购买尚有余量检查配额鉴权通过调用服务推送调用结果校验身份查已用量数据服务更新计量调用NN可用性挑战•计量最终误差要求 不高于 0.01%•交易系统可用性要求 不低于 99.9%Ø 要求0.01%1%99.9%准确计量1.计量准确无误2.交易-计量闭环,要求高并发下实时计量3.容错性Ø 要求准确高并发故障恢复1.减少系统耦合2.降低数据库压力3.应对高并发4.易于扩展Ø 异步计量准确计量Ø 初始架构:实现功能GatewayUserServiceLog Storage &CalculationCharging12345准确计量Ø 架构演进:提高效率GatewayUserServiceLog Storage &CalculationCharging1245PermanentStorageCacheMeteringMessageQueue363准确计量•主数据集(不变层):Elastic Search中的日志•批处理层结果:MySQL中按天存储的用量•速度层:Redis中的当天和昨天结果•服务层:按天进行预计算•查询服务:Metering模块Ø Lambda多种计量指标同时计算,按需取用Ø 计算结果的开-闭原则速度层实时视图实时视图实时视图调用日志批处理层主数据集服务层批处理视图批处理视图批处理视图用户X购买的Y服务还剩多少?消息队列准确计量Ø 架构演进: 服务降级与重算GatewayUserServiceLog StorageCharging1245PermanentStorageCacheMeteringMessageQueue363高可用性整体服务的高可用性, 99.9%(不可用时间每年低于9个小时,每月低于1小时)1.【事前】预防2.【事中】自动化故障转移3.【事中】故障感知4.【事后】故障恢复Ø 挑战:可用性目标1级感知恢复预防发生故障转移高可用性1.所有服务通过nginx调用,多upstream,轮询机制2.服务无状态,必要的状态保存在中央存储中(MySQL/Redis等)3.所有调用必须带trackid,以便定位问题,缩短故障恢复时间Ø 分布式部署,无状态设计ServiceInstance nInstance 2Instance 1NginxNginxCaller高可用性对于SDMK来说,关键路径就是通过Gateway进行的服务调用1.专注于核心业务,尽量少加入无关的复杂逻辑与数据依赖2.调用其它服务均需设置超时,避免被外部服务故障影响Ø 降低关键路径复杂性与负载1.降低模块复杂度2.清晰部署边界Ø 适时拆分和合并功能模块SDMK可用资源高可用性对资源的使用进行限制,避免无效或者故障调用耗尽资源1.熔断机制2.限制用户处于pending状态的请求数3.分服务SLA4.独立适配器Ø 资源限制用户A可用资源用户B可用资源服务S2服务S1高可用性消息系统的选择1.数据可持久化2.支持订阅和队列两种方式3.高性能4.具有水平扩展性Ø 使用消息系统Kafka解耦缓冲支持故障恢复应用易扩展高可用性白盒1.所有服务上线之前必须有基本监控与报警2.基础组件监控与报警3.业务指标监控与报警4.调用追踪系统Ø 监控与报警业务组件追踪服务高可用性黑盒1.Nginx监控与报警2.探针和心跳监控3.外部可用性(端到端)监控与报警Ø 监控与报警Nginx(外)Nginx(内)SDMK服务数据服务用户探针监控端到端Lua高可用性灰度系统的使用1.基于用户标识和Lua的Nginx分流2.SCM系统的配合3.与探针结合使用Ø 减少更新带来的故障Nginx用户探针灰度SDMKSDMK数据服务THANKS

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

【T112017-数据工程和技术分会场】高可用数据服务交易系统架构实践.pdf

您可能关注的文档

发表评论取消回复

参与评论可获取积分奖励  
微风舍 + 关注
实名认证
内容提供者

微风舍,风起于青萍之末,浪成于微澜之间,舍是漏舍,唯吾德馨。

确认删除?
回到顶部