实践出真知,看我们怎样化解DynamoDB的挑衅
副问题[/!--empirenews.page--]
【大咖·来了 第7期】10月24日晚8点寓目《智能导购对话呆板人实践》
DynamoDB 是 Amazon 基于《 Dynamo: Amazon’s Highly Available Key-value Store 》实现的 NoSQL 数据库处事。它可以满意数据库无缝的扩展,可以担保数据的耐久性以及高可用性。开拓职员不必操心存眷 DynamoDB 的维护、扩展、机能等一系列题目,它由 Amazon 完全托管,开拓职员可以将更多的精神放到架构和营业层面上。 本文首要先容作者地址团队在详细营业中所碰着的挑衅,基于这些挑衅为何最终选型行使 Amazon DynamoDB,在实践中碰着了哪些题目以及又是怎样办理的。文中不会具体接头 Amazon DynamoDB 的技能细节,也不会涵盖 Amazon DynamoDB 的所有特征。 配景与挑衅 TalkingData 移动告白结果监测产物(TalkingData Ad Tracking)作为告白主与媒体之间的一个告白投放监测平台,天天必要吸取大量的推广样本信息和现实结果信息,并最终将现实的结果归因到推广样本上。 举个例子,我们通过手机某消息类 APP 赏识信息,会在信息流中看到穿插的告白,告白也许是笔墨情势、图片情势、视频情势的,而不管是哪种情势的告白它们都是可以和用户交互的。 假如告白推送较量精准,恰恰是用户感乐趣的内容,用户也许会去点击这个告白来相识更多的信息。一旦点击了告白,监测平台会收到这一次用户触发的点击变乱,我们将这个点击变乱携带的全部信息称为样本信息,个中也许包括点击的告白来历、点击告白的时刻等等。凡是,点击了告白后会引导用户举办相干操纵,好比下载告白保举的 APP,当用户下载并打开 APP 后,移动告白监测平台会收到这个 APP 发来的结果信息。到此为止,对付告白投放来说就算做一次乐成转化。 DynamoDB实践:当数据量庞大而不行预知,怎样担保高可用与及时性? 移动告白监测平台必要吸取绵绵不断的样本信息和结果信息,并重复、不断的及时处理赏罚一次又一次转化。对付监测平台来讲,它的责任重大,不能多记录,也不能少记录,假如转化数据记多了告白主必要多付告白费给媒体,记少了媒领会有吃亏。这样就为平台带来了几大挑衅:
最初形态 在 2017 年 6 月前我们的营业处理赏罚处事陈设在机房,行使 Redis Version 2.8 存储全部样本数据。Redis 行使多节点分区,每个分区以主从方法陈设。在最开始我们 Redis 陈设了多个节点,分成多个分区,每个分区一主一从。刚开始这种方法还没有呈现什么题目,但跟着用户配置的样本有用期加长、监测样本增多,其时的节点数目逐渐已经不足支撑营业存储量级了。假如用户监测推广量一旦暴增,我们体系存储将面对瓦解,营业也会瘫痪。于是我们举办了第一次扩容。 因为之前的陈设方法我们只能将 Redis 的多个节点翻倍扩容,这统统都必要工钱手动操纵,而且在此时代我们想尽各类步伐来掩护用户的样本数据。 DynamoDB实践:当数据量庞大而不行预知,怎样担保高可用与及时性? 这种陈设方法跟着监丈量的增添以及用户设定有用期变长会越来越不堪重负,当呈现不行预知的突发量时就会发生严峻的效果。并且,手动扩容的方法轻易堕落,实时性低,本钱也是翻倍的增添。在其时因为呆板资源有限,不只 Redis 必要扩容,告白监测平台的一系列处事和集群也必要举办扩容。 化解挑衅 颠末接头和评估,我们抉择将样本处理赏罚等处事迁徙到云端处理赏罚,同时对存储方法从头选型为 Amazon DynamoDB,它可以或许满意我们的绝大部门营业需求。颠末布局调解后体系或许是下图的样子: DynamoDB实践:当数据量庞大而不行预知,怎样担保高可用与及时性?
(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |