首页 >知识讲堂 >网站建设知识>分析Twitter的实时信息分析服务Answers的架构

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

2020-12-31 09:12:46 阅读(172 评论(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的目标是创建一个仪表板,它可以使了解您的用户群非常简单。因此,你可以把时间花在创建惊人的用户体验上,而不是挖掘数据。

以上就是关于分析Twitter的实时信息分析服务Answers的架构的相关介绍,更多分析Twitter的实时信息分析服务Answers的架构相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对分析Twitter的实时信息分析服务Answers的架构有更深的了解和认识。

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

推荐阅读

世界十大最具影响力的科幻小说排行榜

因为小时候喜欢看科学类的电视,后面看了很多科幻的杂志,不知不觉被科幻小说带跑了,不然今天我就会向大家推荐科普作业了。十几年的老科幻油子推荐自己心里的科幻小说排行榜,由不得你们不看,都是珍藏书架的极品。01《神经浪游者…查看详情

金蝶与华为开展合作,发布金蝶EAS Cloud

金蝶的EASCloud是采用最新的混合云的技术架构研发的新一款云产品。可以很灵活的支持企业在公有云、私有云、混合云等上面的部署,帮助企业提供完整的人、财、物的数字化转型,EASCloud完全采用自己研发的技术,完全可以做到自主可控,EASC...查看详情

手机投屏软件哪个好用 免费好用的手机投屏软件

  现在大家平时在周末的时候也会经常在家里看电影,很多人都喜欢使用手机投屏,下面*就给大家来详细介绍一下手机投屏软件哪个好用 免费好用的手机投屏软件这一块的内容,希望能帮助到大家。  手机投屏软件哪个好用  1、《…查看详情

我想注册一个商标怎么注册

  现在很多的个人也十分重视商标的注册与保护,但是对于个人来说如果是对商标不太熟悉的话可能对商标的注册流程这一块不是很了解,下面万商云集*给大家来详细介绍一下我想注册一个商标怎么注册,希望下面的内容能帮助到大家.  …查看详情

恐怖片排行榜,胆小者勿入

恐怖片可以说属于两极的存在了,有人非常的喜欢看恐怖片,但是有的人却避之不及。尤其是对于青少年儿童来说,看恐怖片还是需要慎重一些的,以免对于孩子的心理产生影响,但是对于成年人来说,想要追求刺激,看恐怖片也是很好的选…查看详情

电商有货源可以怎么做

  随着电子商务行业的迅速发展,各类电商平台也逐渐走入人们的日常生活,并越来越受到消费者的青睐。而货源是电商的基础之一,如何获取货源并掌握货源渠道就显得尤为重要。本文将详细介绍电商如何获取货源,并从供应商的选择、…查看详情

免费外网服务器有哪些,国外免费云服务器

网站建设能够更好的将公司展现出来,而且还会将产品更直观的放在网站上销售,所以说很多的企业也都会有自己的网站,在建设网站的时候,除了要注册域名之外也应该要有服务器,有不少的企业都会选择一些免费的外网服务器。那么免费…查看详情

房地产商应该知道的5款售楼管理软件

房地产行业和其它大部分实体行业一样,在很多特殊时期非常容易遭遇客户资产流失、流量获取难、客户转化率低等难题,这个时候就非常需要一款能根据市场行情和工作需求,维护客户关系,提高业绩的产品了,以下6款房地产商应该知道的…查看详情

盘点连锁收银系统的优势,助力店面管理

如果是连锁经营的店面,如果没有使用统一的收银系统是非常被动的,这样没有办法实现数据的统一化经营,也没有办法很好的了解每一个分支店铺的经营情况,所以也使用连锁收银系统也是极为有必要的,那么下面就为大家盘点连锁收银系…查看详情

关于企业知识产权咨询的问题及建议

根据有关调查显示,我国企业平均寿命仅2.5年,与*企业平均寿命40年相比相距甚远,中国企业数量众多生命周期短,能做强做大的企业寥寥无几。我国企业知识产权保护的水平还十分低下,在经济全球化的发展趋势下,我国企业知识产权保护…查看详情

公司网站注册流程具体是什么?看看网友们怎么说

现在的时代注册网站的流程和步骤已经今时不同往日了,它的变化翻天覆地,传统意义上的注册网站早已被淘汰。那么现在公司网站注册流程具体是什么?看看网友们怎么说。 网友1: 准备工具: 手机号码、QQ邮箱、公司名称&n...查看详情

系统集成项目管理证书有什么用

系统集成项目管理证书是一种由相关机构颁发的专业资格证书,它对从事系统集成项目管理工作的人员具有重要的意义和用途。在当今高度信息化和数字化的社会中,系统集成项目的管理变得越来越重要。为了更好地完成这一任务,持有系统…查看详情

房产app软件排行 买房软件app十大排行

虽然说这几年房地产行业属于发展的低谷期,但是现目前市面上很多房产类app发展的还是很不错的,下面万商云集*给大家来详细介绍下房产app软件排行。希望能帮助到大家。    房产app软件排行   房产服务类app月活(2月数据)排行...查看详情

好用的钢笔品牌有哪些 钢笔品牌排行榜

现在移动办公的场景是越来越多了,很多的时候我们都遗忘了使用传统的钢笔,下面万商云集*给大家来详细介绍一下好用的钢笔品牌有哪些 钢笔品牌排行榜这一块的内容,不知道下面的这些钢笔品牌大家有没有使用过,。  NO.1Parker派克…查看详情

如何才能注册商标?根据流程操作,准备齐全材料即可

如何才能注册商标?注册商标首先要有资质,个人需要个体户执照、个人身份证;公司需要营业执照和公章,任缺一项都无法注册商标。满足以上条件后,将材料准备齐全,根据注册商标流程操作即可完成商标注册。 图片来源于网络 …查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询