服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

分析Twitter的实时信息分析服务Answers的架构

2020-12-31 09:12:46 阅读(169 评论(0)

Twitter于2014年发布了Answers,到目前为止,移动社区已经产生了惊人的使用量,让Twitter感到兴奋。现在Answers每天处理50亿次会话,而且这个数字还在不断增加。数亿设备每秒向Answers端点发送数以百万计的请求。在此期间,Answers后台收到并处理了1000万次分析事件。挑战是如何利用这些信息为移动开发者提供可靠、实时、有价值的洞察力(视角)来了解他们的移动应用程序。在高层,Twitter依靠组件解耦、异步通信、优雅服务降级等原则来帮助架构决策。Twitter使用Lambda架构将数据完整性与实时数据更新相结合。在实践中,Twitter需要设计一个系统,可以接收和保存事件,执行离线和实时计算,并将上述两个计算结果集成到相关信息中。所有这些行为都应该以每秒数百万次的规模执行。让Twitter从第一个挑战开始:接受和处理这些事件。在设计设备-服务器通信时,Twitter的目标是减少对电池和网络使用的影响;确保数据的可靠性;接近实时获取数据。Twitter批量发送分析数据,并在发送前压缩数据,以减少对设备的影响。为了确保这些宝贵的数据始终能够到达Twitter服务器,设备将在传输失败后随机退出,设备存储达到上限时重新传输。为了确保数据尽快到达服务器,Twitter设置了多个触发器,使设备尝试发送:当程序在前台运行时,事件触发器每分钟触发一次;消息数量触发器和程序转移到后台触发器。这种通信协议导致设备每秒发送数以万计压缩的有效载荷。每个载荷都包含几十个事件。接收事件的服务必须极其简单,才能以可靠、易于线性伸缩的方式处理载荷。该服务采用GO语言编写,该服务采用亚马逊弹性负载平衡器(ELB),并将每个消息负载放入一个持久的Kafka队列。存储Kafka是一个持久的存储器,因为它将收到的信息写入磁盘,每个信息都有多个冗余。因此,一旦Twitter知道信息到达Kafka队列,Twitter就可以通过延迟处理和再处理来容忍下游延迟和下游失败。然而,Kafka并不是Twitter历史数据的永久真理来源——根据上面提到的速度,Twitter只需要几天的数据来存储数百个box。因此,Twitter将Kafka集群配置为将消息只保留几个小时(这足以让Twitter处理意想不到的重大故障),并尽快将数据存储在永久存储-亚马逊简单存储服务(AmazonS3)中。Twitter广泛使用Storm进行实时数据处理。第一个相关的Topology是从Kafka读取信息并存储在AmazonS3上。一旦这些数据存储在S3上,Twitter可以使用亚马逊弹性Mapreduce(AmazonEMR)计算Twitter数据可以计算的任何东西。这不仅包括在客户仪表盘上显示的数据,还包括Twitter为开发新功能而开发的实验性任务。Twitter使用Cascading框架编写,AmazoneMR执行Mapreduce程序。Amazonemr将Twitter存储在S3上的数据作为输入,然后将结果存储在S3中。Twitter通过在Storm上运行的调度topology来探测程序的执行情况,并将结果灌入Cassandra集群,使结果能够用于亚秒级查询API。到目前为止,Twitter描述了一个持久的容错框架,可以执行分析和计算。然而,有一个显著的问题——这个框架不是实时的。有些计算每小时计算一次,有些计算需要一整天的数据作为输入。计算时间从几分钟到几个小时不等,将S3上的输出导入服务层需要这么多时间。因此,在最佳情况下,Twitter的数据总是拖延几个小时,显然不能满足实时和可操作的目标。为实现实时目标,Twitter在数据涌入后存档,同时对数据进行流式计算。就像Twitter存储Topology读取数据一样,一个独立的StormTopology实时从Kafkatopic中读取数据,然后进行实时计算。计算逻辑与Mapreduce任务相同。为了实时查询,这些实时计算结果被放置在另一个独立的Cassandra集群中。为了弥补Twitter在时间和资源方面可能存在的不足,Twitter在实时计算层中没有使用一些概率算法,如布隆过滤器HyperLogLog(也有自己开发的算法)。与那些蛮力替代品相比,这些算法在空间和时间复杂性方面具有数量级优势,只有精度损失可以忽略不计。合并现在Twitter有两个独立生产的数据集(批处理和实时处理)。Twitter如何合并两者才能获得一致的结果?在API逻辑中,Twitter根据特定情况使用两个数据集,然后合并它们。Twitter的API总是倾向于使用批量生成的数据,因为批量计算是可重现的,而且比实时计算更容易。比如API收到了一个30天时间序列的日活跃用户数据请求,首先会在批量数据Cassandra集群中查询全范围数据。如果是历史数据检索,已经获得了所有数据。然而,查询请求更有可能包含大部分结果,只有近一两天的数据才会被实时数据填充。错误处理让Twitter复习几个失败的场景,看看这样的架构如何避免在处理错误时停机或丢失数据,从而优雅地降级。Twitter在上面讨论了设备上的回退重试策略。当设备端网络中断,服务器端短时间无服务时,重试确保数据最终到达服务器。随机返回确保设备不会在某个区域网络中断或后端服务器短时间不可用后被压垮(DDOS攻击)。当实时处理层失效时会发生什么?待命的Twitter工程师将被通知并解决问题。由于实时处理层的输入存储在持久的Kafka集群中,因此没有数据丢失;实时处理恢复后,将赶上停机期间应处理的数据。由于实时处理和批处理完全解耦,批处理层根本不会受到影响。因此,唯一的影响是在实时处理层失效期间实时更新数据点的延迟。如果批处理层出现问题或严重延迟,会发生什么?Twitter的API将无缝获取更多的实时处理数据。查询时间序列数据可能只需要一天的实时处理结果,但现在需要查询两到三天的实时处理结果。由于实时处理和批处理是完全解耦的,实时处理不会影响继续运行。与此同时,Twitter的待命工程师也会得到消息,解决批处理层的问题。一旦批处理层恢复正常,它将执行延迟的数据处理任务,API将无缝切换到批处理的结果。Twitter系统的后端架构由四个组件组成:事件接收、事件存储、实时计算和批量计算。各组件之间的持久队列确保任何组件的故障不会扩散到其他组件,并且可以从中断中恢复。当计算层延迟或失效时,API可以无缝优雅地降级,服务恢复后再次恢复;这些都是由API内部的检索逻辑保证的。Answer的目标是创建一个仪表板,它可以使了解您的用户群非常简单。因此,你可以把时间花在创建惊人的用户体验上,而不是挖掘数据。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

成都网站开发多少钱?

如何降低开发成本?电商销售小程序的定制开发费用受项目复杂程度、功能需求和开发团队成本等因素影响。与云仓合作是否能节省成本取决于具体情况。旺来旺趣集团是专业的app软件开发服务商,提供从设计开发到后期交付的一站式服务。寻找靠谱团队可考虑其信誉…查看详情

玄幻小说排行榜,帮助你更快的找到经典玄幻小说

现在其实有很多人都很喜欢看小说,尤其是玄幻小说,属于大家必须要看的题材之一,而且有很多作品都比较经典。如果想要寻找到比较好看的玄幻小说,必须要查看以下的玄幻小说排行榜。 1、神墓神墓,属于作者的成名之作,这一本书就主要讲的就是一个人传奇的一…查看详情

互联网运营是什么?运营互联网需要哪些基础能力?

近几年随着互联网的崛起,越来越多企业老板开始重视互联网的运营,而运营的好坏也直接决定了企业的存亡,所以现在的市场依旧在大量招聘运营专员,薪资也是居高不下。所以想要去应聘互联网运营的人很多,但是现场一问,却有连互联网运营是什么都不知道的,也不…查看详情

免费小说下载(八大免费小说下载app排行榜)

现在当代的年轻人都喜欢看电子小说,而且很容易沉浸到小说的当中,去小说里体验各种各样的乐趣,那么该如何选择电子小说下载app呢,今天小编为大家带来的是免费小说下载app排行榜,大家快来看看吧!1.番茄免费小说番茄免费小说是一款北京臻鼎科技有限…查看详情

如何安装windows10家庭版

  Windows 10家庭版是一款普及率非常高的操作系统,安装可以使用U盘、DVD、网络升级等多种方式,本文以使用U盘安装方法为例,详细讲述Windows 10的安装过程。具体步骤如下:  1.备份数据。在安装前,用户应该将需要保留的…查看详情

300m宽带用什么路由器

  对于300M以上的宽带接入,需要选择一台性能更高、信号覆盖更广、信号稳定的路由器。以下为您提供路由器的选择要点和建议。  一、选择路由器的重点  1. 硬件配置:路由器的硬件配置表现在处理器、存储器和物理接口等方面。处理器直接影响设备…查看详情

php是干什么的

智能光电与纳米技术是干什么的?该技术是干成像和光源。其中成像技术有CRT、像管、像增强器、CCD、CMOS、3D成像、全息成像、液晶、等离子、PHP。光源技术有红外、紫外、可见光、激光。 智能光电与纳米技术在近代发展的很快涉及面也逐渐扩散…查看详情

CRM好吗?当然,只是销售人员讨厌它而已!

目前市面上绝大多数销售管理软件都是以销售漏斗为核心开发的,这就意味着销售漏斗对于销售管理的重要性。随着近几年我们对销售漏斗的研究发现,销售漏斗在发挥它的作用的同时也有他的局限性,造成了很多企业的CRM系统使用效果并不好,销售人员抵触使用的情…查看详情

美术作品版权登记及作品授权范围须知

美术作品大体分为两类,一类是传美术作品,也就是油画、国画、水彩画等供人欣赏的艺术作品;另一类是实用美术作品,比如陶艺这类,将美术创作与具有实际使用价值的物体相结合的作品。美术作品版权登记范围主要在服装设计、陶艺图案、手机壳设计、手绘创作、商…查看详情

【国家版权局】我国对国际版权登记条约的规定实施

目前,各国版权登记保护内容都依该国相关条例实施。从登记方法、保护期限、权利人专有权益等各有不同。我国对国际版权登记部分条约的规定如下: 图片来源于网络 实施国际版权登记条约的规定(1992)第一条 为实施国际著作条约,保护外国作品著作权人的…查看详情

有哪些好的大牌女装品牌店呢?

由于世界男女比例平衡女性的需求也越来越大,女性在选择女装时比较倾向于大牌女装品牌店,这叫影响了我们在购物时会踩很多雷会买到假货假衣服,为了给大家一个好的体验效果特此为大家整理出比较出名的大牌女装品牌店,供大家参考。 一、HugoBoss女装…查看详情

免费好看的动漫网站有哪些 动漫网站推荐几个

  相信很多的小伙伴都比较喜欢看动漫,其实看动漫也是一种非常不错的体验,下面万商云集小编就给大家来详细介绍一下免费好看的动漫网站有哪些 同时小编精选几个动漫网站推荐几个给大家,希望大家喜欢,  1.搜漫  搜漫是一个全网漫画搜索引擎。无论是…查看详情

查情侣头像的另一半软件有哪些?

平时热恋中的一对情侣,不仅会喜欢穿情侣装,而且在使用头像的时候也会选择情侣头像。这样才能够秀出两个人的恩爱,比如说一个人选择了头像之后,想要选择另一半的头像可能并不是很好找,如果选择了一款专门的软件,就相对来说比较方便。那么查情…查看详情

2022出租车软件排行榜前十名

最近几年随着网约车对出租车行业的冲击,现在很多的人都不知道怎么打出租车了,下面万商云集小编给大家来介绍一下2022年出租车软件排行榜前十名.  1.滴滴快车  实时叫车,百秒应答,出行必备的打车应用。预约用车,三天内全国已开通城市间无缝预约…查看详情

租用CRM和买断CRM有什么区别?

为了企业管理转型,很多企业会选择实施CRM企业关系管理系统软件来帮助企业快速转型,提升企业管理效率。市面上CRM系统的销售类型分为两种:一种是租用型,另一种是买断型。 图片来源于网络� 那么这两种销售模式对企业来说的区别是什么呢?所谓租用…查看详情

最新文章