简介
11月13日,ElonMusk为Twitter进行了1000多次RPC来呈现用户的主页时间线而道歉。乍一看,如此大量的RPC似乎很荒谬。如今,Twitter每月为2.6亿活跃用户提供服务,并且可以近乎实时地提供服务。为了解决亚秒级延迟的大规模采用问题,Twitter率先推出了许多解决方案,包括ApacheStorm、Heron、DistributedLog和Aurora。他是Scala的主要贡献者,包括finagleRPC框架,以及lambda架构、SnowflakeID和Segcache等创新。那么,为什么像Twitter这样的创新型全球化公司需要如此多的调用来获取用户的时间线数据?
Twitter所面临的问题让我们想起了当前Web3中不断增长的烦恼:开发者常常被迫一个接一个地连续调用许多API来获取组装业务逻辑的数据。这会导致性能不可靠且不可预测,即使对于最简单的用例也是如此,例如获取用户的交易历史记录。就增长而言,前十大公链的交易量在两年内翻了100倍。在图1中,我们展示了每秒推文数量和每秒Web3交易数量之间的比较。如果Web3继续沿着图中描绘的轨迹发展,那么当今大多数Web3数据基础设施解决方案将无法应对增长。
图1:推文与Web3排名前10的链早期写流量QPS对比。
Web3云游戏平台The Game Company以4000万美元估值完成500万美元种子轮融资:金色财经报道,Web3云游戏平台The Game Company公布已经以4000万美元估值完成500万美元种子轮融资,但投资方信息暂未披露,据悉这笔交易是在去年12月完成的,但直到最近才公开披露,新资金将用于加速该公司游戏平台开发,并利用AI技术创建一个互联互通的多角色生态系统,让用户和数字游戏玩家通过参与该生态系统获利。[2023/5/12 14:58:26]
在这篇博文中,我们将重点介绍Web3可以从Twitter的扩展解决方案中学到什么。具体来说,我们讨论以下内容:
?我们概述了Twitter的时间线基础设施之旅,认为他们当前的架构确实对特定用例有意义,并得出结论,一些批评可能是错误的,例如ElonMusk最近的推文为渲染主页时间线的大量RPC道歉。
?我们深入研究Twitter和Web3之间的技术相似性,并探索前者的解决方案如何使后者的解决方案受益。
?我们分析了当前的Web3增长趋势,以及缺乏现有的高性能数据基础设施解决方案,并得出结论,如果我们想要支持实时Web3数据访问,则需要进行重大升级,以及ZettaBlock解决方案如何帮助开发人员减少70%的开发时间,并将性能提高10倍,演示可以在这里找到
Twitter的数据基础架构之旅
一开始,Twitter使用VanillaMySQL。这很快成为了一个问题,因为在最初的几年里,推文的数量每年增长10倍。从2007年到2012年,Twitter的月活跃用户从几千人增长到超过1.38亿。已知的水平和垂直切分的知识无法为Twitter处理高流量的性能,尤其是在渲染主页时间线方面。
Web3音乐公司YellowHeart在Spatial上推出元宇宙音乐场地:10月25日消息,Web3音乐公司YellowHeart在Spatial上推出一个元宇宙音乐场地。艺术家G.Love将于今年晚些时候进行该场地的首场演出。(The Block)[2022/10/25 16:38:34]
时间线是Twitter的主要平台功能之一。一般来说,Twitter的时间线主要有两个操作,具体如下:
1.写入路径:该路径用于用户发布推文。2012年,Twitter平均每秒处理4.6万个写入请求,在高峰时段处理1.2万个RPS。
2.读取路径:此路径用于用户请求他们的时间线。2012年,Twitter每秒处理大约30万次读取请求。
为了更好地理解Twitter如何呈现时间线,让我们更深入地研究呈现流程,如图2所示。当Twitter用户今天发布一条推文时,Twitter首先将其写入Manhattan,一个分布式键值数据库,用于存储用户推文、直接消息、帐户详细信息等。该推文在时间线缓存中向该用户的所有关注者展开。虽然这将写入放大从每秒4.6k请求增加到每秒345k请求,但它也大大降低了用户的读取延迟。因此,时间线渲染不是在关注者和推文之间做一个连接表,而是从缓存中的单个表中获取推文。这些操作通常在不到5秒的时间内完成。通过分布正在写入的数据,系统可以通过删除表连接来避免过度增长。因此,读取延迟被改进到几百毫秒。
Web3社交图谱基础设施Relation推出语义型SBT协议标准:10月12日消息,Web3社交图谱基础设施Relation推出语义型SBT协议标准,该标准基于W3C标准资源描述框架(RDF),可实现在SBT元数据中写入社交关系信息及更多自定义语义,允许个人铸造SBT进行自我认证,并支持第三方机构铸造SBT进行签发认证,通过语义型SBT描述Web3世界中实体的一切社会身份和关系,从而构建一个理想化的声誉体系和社会状态。[2022/10/12 10:32:10]
图2:Twitter的时间线渲染流程。请注意,时间线中的每条推文都需要至少一个RPC。
前面提到的渲染流程对于绝大多数用户来说可能已经足够了,但是“超级中心用户”呢?超级中心用户是指拥有众多粉丝的用户。所描述的扇出模式,在超级中心用户的情况下,可以放大1.2亿倍!这就是为什么在Twitter的早期,有专门为贾斯汀·比伯(JustinBieber)提供的专用服务器机架。为了容纳超级中心用户,使用了一种称为Earlybird的特殊服务。在Earlybird中,超级中心用户和普通用户分别获取不同的推文。这个过程如下面的图3所示。
图3:左侧描绘了Twitter用户混合时间线的抽象说明,右侧描绘了相应的读取SQL。
既然我们已经描述了提供实时推文时间线背后的复杂性,那么为什么单个时间线渲染需要许多RPC就很清楚了。例如,对于只有100条推文的时间线,RPC调用很容易超过1000次,因为仅仅获取一条推文就需要多次RPC调用。该解决方案乍一看可能并不直观,但它是一种经过深思熟虑的权衡,旨在为最终用户提供优化且可预测的读取性能。
上海十四五规划:布局分布式存储、DNS和加密通信等Web3关键技术:7月13日消息,上海市人民政府办公厅印发《上海市数字经济发展十四五规划》,规划提出,上海将在十四五期间应围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域,加强数据、技术、企业、空间载体等关键要素协同联动,加快进行数字经济发展布局。
提升数字新基建应加强网络新型基础设施部署、技术研发和应用创新,打造面向未来的网络生态。超前布局新一代网络形态,前沿探索多平台 OpenID(数字身份识别框架)、分布式数据存储、去中心化 DNS(域名解析系统)、端到端加密通信等 Web3.0(第三代万维网)关键技术,加快突破分布式网络核心技术。[2022/7/13 2:10:03]
Twitter实现的最终结果非常积极:99%的延迟只有几百毫秒左右。在过去的10年里,这种基础架构已经被证明是可靠的,可以在没有重大变化的情况下处理Twitter流量的高速增长。
请注意,我们忽略了Twitter时间线的其他方面,包括评分、排名等。有关这方面的更多详细信息,请参阅本文末尾列出的参考资料。
Web3和Twitter数据的相似之处
图4:Twitter和Web3数据的相似之处
Twitter和Web3生态系统有很多相似之处:
Web3开发者平台Alchemy扩展至Solana生态系统:金色财经消息,Web3开发者平台Alchemy周四表示,正在将其服务扩展到Solana生态系统。测试版现已上线,供用户注册,并将在未来几周向更广泛的公众发布。(CoinDesk)[2022/6/2 3:59:08]
1.Web3是一个社交图谱,推文类似于交易,回复类似于日志。图4描述了这一点,其中比较了顺序时间线渲染和顺序区块链的块。
2.Web3协议和Twitter存在超级中心效应。最受欢迎的NFT平台的交易量是第10个平台的1000倍。
3.Web3和twitter都是开放平台,对所有用户可见,并允许某些API访问。
如果我们放大一点,Twitter和Web3之间的数据访问模式有更多相似之处:
1.读取量大,但每条记录很小。在EVM链上,日志和交易的平均大小只有几KB。
2.最新数据将被更频繁地查看,其中大部分查看来自发布后的前几个小时。
3.数据在短时间是不可变的。链上数据可以通过reorg恢复最新的区块。同样,现在用户可以在发布后的一段时间内编辑推文。
Web3可以从Twitter的架构中学到什么
与2020年初相比,前10大链的交易量已经增长了近100倍。Web3数据基础设施的现状类似于2008年前后的Twitter早期,当时大部分流量依赖于来自不同提供商的水平分片数据库。因此,随着Web3的持续增长,现有的Web3数据基础设施将很难提供对数据的高性能访问。
来自Twitter的扇出服务是将相关数据同时放在同一位置。这样,当一个请求到来时,系统可以很容易地在一个地方找到相关数据,这导致数据已经被预处理并可以使用。这使得系统具有可扩展性,和可预测的性能。
遵循当前现状的Web3应用程序缺少一个重要的组件来有效地聚合相关数据。具体来说,开发者必须一个一个地调用API来获取数据。即使对于最简单的用例,例如获取用户的交易历史记录,这也会导致性能不可靠且不可预测。
图5:当前的Web3应用程序需要如何连续调用许多不同的API,即使是简单的事务聚合。
由于所有Web3数据都是公开可用的,ZettaBlock构建了最先进的数据基础设施来处理所有Web3开发人员的扇出部分。应用程序开发人员只需通过一个API指定他们想要查询哪些相关数据,然后让ZettaBlock聚合所有相关数据。如图6所示。通过使用ZettaBlock,开发时间和API延迟分别减少了70%和90%。在https://demo.zettablock.dev/查看我们的演示。更多的技术细节将在未来分享。
图6:与图5相比,ZettaBlock将多个Web3数据集抽象为一个简单、用户友好且高效的API。
结论
在这篇博文中,我们剖析了Twitter的架构,并将其数据模型与Web3进行了比较,发现了许多相似之处。如果我们能得到一个信息,那就是许多现有的Web3数据基础设施解决方案,就像早期的Twitter一样,将无法跟上即将到来的数据需求。
这就是我们构建ZettaBlock的原因。ZettaBlock是一个全栈式Web3数据基础设施平台,可提供实时、可靠的API和分析,在几分钟内为您的应用程序提供支持。前面提到的扇出过程,这只是ZettaBlock上开发人员和企业可用的众多功能之一。我们受到领先的web3公司的信任,如Polygon,Crypto.com,Circle等。我们的愿景是成为web3数据基础设施的首选平台。
请查看我们的演示/视频了解详细信息。
鸣谢
我想借此机会向所有在这篇文章中帮助过我的人表示衷心的感谢。特别感谢KevinRos、ChiZhang、MariaAdamjee、RaphaelSerrano、ZhenzhongXu、PaulTluczek、TianzhouChen、HemanthSoni、NitishSharma、RyanKim、AlexXu、VivekGopalan、NazihKalo、NirmalKrishnan、TimothyChen、MinHao、BoYang
参考
1.TimelinesatScale:
https://www.infoq.com/presentations/Twitter-Timeline-Scalability/
2.HowTwitterusesredistoscale105TBRAM:
http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-scale-105tb-ram-39mm-qps-10000-ins.html
3.WhatDatabasedoesTwitteruse?
https://scaleyourapp.com/what-database-does-twitter-use-a-deep-dive/
4.TwitterDataStorageandProcessing:
https://ankush-chavan.medium.com/twitter-data-storage-and-processing-dd13fd0fdb30#:~:text=That%20equals%20to%20the%2084,time%20the%20request%20is%20made
?责任编辑:Kate
一、为什么关注这个项目?其实6月份我就关注了TheBeacon,一直比较喜欢像素类游戏,像星露谷物语、泰拉瑞亚这种。本来以为这游戏要熄火的,结果他突然火了.
我们知道,稳定币的供应量决定着加密市场的资金面供给,供应量越多,资金越充裕,反之亦然。但如果只看供应量,难免陷入一个疑问:为什么今年熊市中的供应量总体看并不少,但价格却一直走低?是否稳定币供应量.
回想一年前。比特币的交易价格约为50,000美元,如果不看加密货币广告就无法观看体育比赛,且你可以通过铸造NFT致富——或者至少感觉是这样.
这将是我《白人男孩》系列的最后一篇文章。我已经谈完了SamBankman-Fried和FTX/Alameda的垮台。当一个人无法反击时,把他的脑袋按进水里并不有趣.
MarsBitCryptoDaily2023年1月4日 一、?今日要闻 MagicEden:平台上不良图片系图像提供商被黑所致,平台未被攻击NFT市场MagicEden发推称.
当你开始涉猎区块链或加密货币时,似乎经常会遇到PoW、PoS等烧脑名词。今天,我们就来聊聊,什么是PoW、PoS、DPoS。PoW、PoS、DPoS,用一句话概括,就是区块链的三种主流共识机制.