北京物流信息联盟

搭建计量误差不高于0.01%的高可用服务交易系统

2020-11-25 15:46:55


近日,WOTD全球软件开发技术峰会在深圳举办,50+海内外人工智能技术领袖、创新开拓者带来了精彩演讲,围绕当前最热点的话题进行交流与探讨,分享架构设计、机器学习、移动开发、智能硬件等主题最佳技术实践。


TalkingData资深工程师 何坤


WOTD期间,TalkingData资深工程师何坤接受大会主办方专访,针对智能数据服务商城的意义、数据交易系统特点相关技术问题,分享了TalkingData智能数据商城背后的故事:


一 TalkingData智能数据服务商城的作用


数据服务商城,是数据供应商和数据使用方之间的桥梁,让用户能够便捷地找到自己所需的服务,或者将自己的数据能力通过服务的方式开放给其他用户。从更深的层次上看,数据服务商城在TalkingData构建完整数据生态体系中是非常重要的一环。通过这样的平台,数据才能够流动起来,连接和满足数据供应商和数据使用方的需求,从而将良好的数据行业生态构建起来。


TalkingData智能数据服务商城提供6大类标准数据服务,并对服务质量和稳定性进行进行监控和评估。用户能在这里找到的服务,一是API方式二是SaaS方式,同时还开放了Lookalike、情景感知、预测引擎、推荐引擎等人工智能服务,例如进行目标人群画像或扩展潜客人群。


二 智能数据服务商城的交易系统有怎样的特点?


TalkingData智能数据服务商城的交易系统通过服务的方式来实现,而服务的方式也与一般的交易系统不同。用户购买了服务之后,并不是购买了就结束了,接下来服务的使用也需要通过商城提供的接口来进行。这个系统不像在网络商城购买一样东西,而更像是接入像水或者电,用户是在持续使用。

 

三 数据服务商城采用了怎样的技术?


1 高可用性架构,可用性的背后是对故障的应对。从预防故障的发生,在故障发生时及时做到故障转移和故障感知,并且在感知到故障之后能比较快速的进行恢复,恢复之后能做到复盘或者改进,我们通过高可用架构形成了良性的循环。

 

2 在完成业务功能的同时,为了做到准确计量,计量误差不高于0.01%,设定了一些创新。准确计量的概念有两层含义:一,实时数量的准确性;二,最终数量的准确性。但实时准确与高并发是一对矛盾,因此只能做到最终准确+高并发,牺牲一定的实时数量准确性,导致实时计量会有一定误差。TalkingData在保证最终准确性的前提下,尽量提高实时准确性。

 

此外,为了保证服务高并发和高QPS下服务的响应时间,TalkingData使用“异步计量”。在发生故障时,尽量保证服务可用,容忍可能的超量;在故障后恢复数据,从而满足最终准确的要求。

 

选择“异步计量”的方式而不是“同步计量”的方式,是因为:


1.对数据库压力大;

2.每次调用时延变长,不容易保证主流程时延稳定;

3.MySQL不易扩展,要做分库分表;

4.异步计量容易洗数;

5.扩展性好,牵涉到异步服务的所有组件,ES,Kafka,Redis都是原生就支持方便扩展。

 

为了保证最终一致性,同时让实时准确性尽量达到目标,TalkingData采用了Lambda架构来降低准确性和高并发下实时的矛盾。



【讲师简介】

何坤

TalkingData资深Java工程师

主要负责Smart Data Market研发,主导开发了智能数据服务商城,为超过200家客户以高SLA提供数百个在线数据服务。在基于微服务的高并发高可用SaaS系统设计实现运营方面具有丰富经验。在加入TalkingData之前,曾任职于甲骨文、安捷伦科技等公司。敏捷开发和DevOps的践行者。


友情链接

Copyright © 2023 All Rights Reserved 版权所有 北京物流信息联盟