写点什么

一场马斯克的反爬闹剧:Twitter 一夜回到五年前?

  • 2023-07-03
    北京
  • 本文字数:3373 字

    阅读完需:约 11 分钟

一场马斯克的反爬闹剧:Twitter一夜回到五年前?

没有人相信埃隆·马斯克对推特崩溃的解释了。

 

上周末,推特的所有者马斯克(Elon Musk)限制了大多数用户每天可以查看的推文数量,随后推特遭遇了严重技术故障,致使大量用户无法登录。小小改动都能使推特崩溃,这次马斯克会怎么说?

 

从限制登录到服务崩溃

 

上周五,马斯克宣布,如果没有推特账户,就不能再阅读推文。马斯克当时表示,使用人工智能模型的公司们正在大量抓取推特数据,造成了网站流量问题。“这是临时紧急措施,”他说:“几百家机构(也许更多)正在极其积极地搜刮推特数据,以至于影响到了那些普通用户的体验。”

 

虽然不确定马斯克具体指的是什么,但他很可能说的是从网站提取数据而不需要任何官方 API 的网络爬虫。毕竟,推特的 API 现在受到严格限制,使用者每月至少要花费 42,000 美元。

 

在此之前,普通用户无需登录帐户即可访问推特,在桌面或移动设备上的网络浏览器中就可以直接打开最喜欢的推文或查看最喜欢的创作者的个人资料。早在 2015 年,推特在一篇博文中透露,每月有“5 亿人”在没有登录的情况下访问推特。据称,这个数字高于推特的月活跃用户数。现在,这部分用户都被挡在了平台外面,不登录就无法查看任何内容。

 


自马斯克接管该平台以来,推特一直遭受用户增长停滞、高级用户流失和广告收入减少的困扰。迫使数亿用户注册推特账号,确实有可能提升用户数据并趁机向潜在广告商推销。然而,这个举措也存在一些重大缺陷,推特将面临的一个主要问题是谷歌等搜索引擎将难以抓取该平台并对其内容进行排名。这意味着当用户在谷歌上搜索时,用户个人资料和推文可能不会再出现。此举也不能保证用户在看到登录提示后会注册推特。一旦大家意识到他们无法访问内容,就可能会完全避开推特内容和链接。这最终可能会让推特损失大量流量。 

 

限制登录是第一步,到了周六,马斯克又出了新措施:“认证帐户每天只能阅读 6000 个帖子,未认证的帐户每天能看 600 个帖子;新的未认证的帐户每天能看 300 个帖子。”

 


对于未认证用户来说,600 次推文浏览量,一天随便翻翻各种评论可能就很快用完了。此后上限提高至 1,000/10,000,但这对于非认证用户来说仍然算不上什么。看起来这个举措是用来进一步鼓励 Twitter Blue 订阅,而这种事情也只有马斯克才做得出来。

 

本来这个改动在技术上也没太复杂,但不幸的是很多人发现推特崩溃了。

 

根据故障追踪网站 Downdetector.com 的数据,星期六上午有数千名推特用户的账号出现故障。美国东部时间星期六上午 11 时 17 分左右(北京时间星期六晚上 11 时 17 分左右)的故障高峰时段,有近 7500 名用户报告访问推特时出现问题。

 

更让人无法理解的是,用户都已经无法访问推特首页的信息流了,然而,即使页面无法加载,推特网页仍在不断尝试发送请求。

 


推特每秒向自己的服务器发送约十条请求,试图获取永远无法获得的内容。这可能对工程师们来说是一场灾难,但同时我们也得以欣赏一场史诗级的自我抹黑:推特在不断对自己进行 DDoS 攻击!

 


这是个悲伤的故事,也真实地讲述了前端背后发生的事情:劳累过度的工程师正努力地去满足一个“白痴”老板的要求

 

几乎可以肯定这与他们关闭对推特内容的匿名访问有关。有网友猜测在前端程序中可能存在一个逻辑漏洞,开发人员必须小心翼翼地绕过它,才能使该服务变为私有(a private only service)。

 

鉴于马斯克有开除员工的一系列前例,还有人感慨道:“这次不知道谁又得收拾行李,带着‘荣耀’走出推特大门。”

 

是系统损坏了吗?

 

一开始,马斯克说这是限制第三方抓取推特数据,但后来他开始开玩笑说,该网站瘫痪可以让大家“远离手机,去看看你的家人和朋友。”

 


但显然大家并不买账,一些有相关技术背景的人认为,这与抓取或机器人预防没有什么关系,而是与试图保持网站的完整性有关。起码大型生产系统自我进行八个小时的 DDoS 攻击是极其少见的。

 


Maggie Johnson-Pint是一家 IT 公司的创始人也是一名可靠性方面的专家,也是前推特基础架构团队成员,她对此发表了自己的看法,“作为一名速率限制方面的专家,我想解释下这背后的一些技术。”

 

大型生产系统中涉及请求数量超出服务能力的事件可以分为两类: 

1.自上而下的过载或“Reddit Hug of Death”:突然出现巨大的需求激增,服务器暂时“无法”运行。这种情况也会发生在超级碗广告之后、流行歌星宣布巡演或 DDOS 攻击期间。 

2.自下而上:这是不太明显但更常见的情况,当系统内部出现故障时,系统将无法提供正常负载。如果你丢失了 Redis 缓存并且所有内容都读取到数据库,这将大大降低服务请求的能力。同样,如果数据库副本、云区域或集群出现故障,照样也会处理不了正常工作负载。当然,如果一项服务的开发人员编写的代码突然攻击另一项服务,那也是“DDOSing Yourself”,但这还是自下而上的。 

 

“我不知道推特今天发生了什么...... 我敢打赌是一些 ‘自下而上’的问题。大家讨论的 DDOSd 问题,这是事情的结果,而不是问题的原因。”

 

在一些情况下,限速限流是一个逃离死亡的好办法,当然,如果服务器收到的请求数量超过了它们能够处理的数量,最终它们还是会崩溃。 即使它们没有崩溃,请求也会堆积起来等待完成,这期间用户还会不断去刷新页面,增加更多请求,陷入死循环中。

 

“此类最好策略是‘自适应’的,可以根据系统压力、请求优先级和其他因素更改速率限制。推特之前有一个非常好的团队,因为直到一年前他们还拥有一支非常出色的基础设施团队。 现在,很多人认为限速是位于基础设施‘前端’的东西,以防止自上而下的问题,但事实上,先进的基础设施团队(包括我之前在推特的美好日子里)会定期在所有进程之间使用它,那么就可以防止各种情况导致的过载情况,从而防止出现各种级联故障场景。”

 

Maggie 猜测是因为推特丢失了关键后端系统的很大一部分:也许他们停止支付 GCP 账单,也许他们丢失了一个关键缓存,并且所有内容都在读取其他数据......

 

控制成本的极端举措?

 

GCP 账单理论也与马斯克有关,之前为了削减成本,他拒绝向亚马逊或谷歌等为推特提供基本服务的公司支付账单。尽管后续行动表明马斯克最终至少支付了谷歌的账单,但现在看来似乎还是在云服务上有些问题存在。

 

The Information 此前报道称,几个月来,推特一直在试图重新跟谷歌谈判新的云服务合同,推特曾承诺在五年内支出 10 亿美元。

 

根据 The Information 的报道,推特最终继续支付其 Google Cloud 账单,因为它从该公司获得了巨额广告收入,但 Platformer 也有报道称,推特“计划完全停止使用该平台”。Platformer 报道称,推特计划在 6 月 30 日合同结束之前将服务从 Google Cloud 上移走,但援引消息人士的话称,这需要比预期更长的时间,并且不确定某些服务会发生什么情况。

 

例如,推特于 2018 年收购的Smyte公司,利用数据分析和机器学习,提供阻止各种不良在线行为的服务,包括针对机器人、黑客攻击、阻止骚扰、滥用和垃圾邮件的工具,该公司托管在谷歌云平台上,也是 6 月 30 日到期。当时消息人士告诉 Platformer,并还不清楚推特是否会尝试将 Smyte 迁移到自己的服务器上。

 

马斯克指责试图获取数据用于人工智能训练的公司,说它们让推特不堪重负。如果仅仅是针对爬虫和机器人,“限流”无疑是控制爬虫的基本方法。特别现在模拟用户的高端爬虫,利用手机或者电脑,一步步去操作,跟真人没有区别。这种情况下,系统很难区别是不是普通用户,识别成本高,而且不一定准确。

 

在马斯克裁掉了推特的绝大部分安全团队成员后,增加限制也许是一个最低成本的替代解决方案。

 


当然,并不是所有人都不相信马斯克所说的理由。在他的所有帖子下,都有一大群拥护者说着“伟大的举动,先生,感谢您让网站变得更好!”

 

也不知道这种“临时”举措会持续多久。推特的竞争对手,现在也因为大批用户涌入而暂停注册。福布斯评价说:“这无疑是马斯克自接管该网站以来所做的最糟糕的事情,反爬虫明显是一个烟幕弹。如果这是真的,那么这实际上就像为了杀死几只蚊子而把整个房子烧掉一样。”

 

参考链接:

https://techcrunch.com/2023/06/30/twitter-now-requires-an-account-to-view-tweets/

https://threadreaderapp.com/thread/1675331352584134658.html

https://sfba.social/@sysop408/110639609718939225

https://www.forbes.com/sites/paultassi/2023/07/02/no-one-believes-elon-musks-explanation-for-breaking-twitter

 

2023-07-03 18:358075

评论

发布
暂无评论
发现更多内容

828云服务选购好时机!华为云Flexus X实例刷新云上体验

平平无奇爱好科技

华为云Flexus X实例亮相828!云上管理更高效

平平无奇爱好科技

centos设置允许访问的ip

百度搜索:蓝易云

Dockerfile解析

百度搜索:蓝易云

在PHP8中向数组添加元素-PHP8知识详解

百度搜索:蓝易云

企业有了ELT就不需要ETL了?别被忽悠了

RestCloud

数据挖掘 kettle 数据处理 ETL ELT

“AI+Security”系列第3期(二):AI赋能自动化渗透测试

云起无垠

抓准中小企业上云关键点!828华为云Flexus X实例强势赋能

平平无奇爱好科技

大模型RAG:基于PgSql的向量检索

程序员架构进阶

大模型 9月日更 9月月更 向量数据库 rag

centos7 firewalld ip转发设置、安装docker-compose出现错误、docker-compose部署Yapi

百度搜索:蓝易云

法国亿万富翁加入字节跳动董事会!美国总统候选人哈里斯、特朗普纷纷向人工智能和加密货币产业示好|AI日报

可信AI进展

战略上的AI:如何将人工智能融入企业战略

天津汇柏科技有限公司

AI人工智能

电商API的创新应用与高效数据采集策略实践

代码忍者

API 接口 pinduoduo API

正式亮相828!华为云Flexus X实例革新云服务体验

平平无奇爱好科技

中国Teams直接路由

cts喜友科技

通信 通讯 云通讯

代码覆盖率:质量的黄金标准,你的软件有多可靠?

禅道项目管理

编程 程序员 测试 代码 代码覆盖率

PaddleX图像分割赋能医疗领域筛查检测,打造智能医疗诊断系统

百度Geek说

快速理解 GraphRAG:构建更可靠、更智能的 Chatbot

Baihai IDP

程序员 AI 白海科技 Baihai IDP 企业 9 月 PK 榜

上云也需捷径,转型更加轻松!828首选华为云Flexus云服务器X实例

平平无奇爱好科技

上云也有性价比!828华为云Flexus云服务器X实例重磅亮相

平平无奇爱好科技

首款柔性算力云服务器亮相828,华为云Flexus X实例破解上云难题

平平无奇爱好科技

云服务器选购就在828!华为云Flexus X实例让上云更轻松

平平无奇爱好科技

分享 | 多因素认证让某汽车厂商的数字资产更安全

芯盾时代

身份安全 汽车 mfa

Java开发者必看!避开十大致命陷阱的实战指南

巧手打字通

Java 后端 经验分享 Java编程优化 闭坑指南

LED显示屏P3、P4、P5的区别有哪些?

Dylan

技术 LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

MatrixOne助力一道创新打造高性能智能制造AIOT系统

MatrixOrigin

数据库 AIOT 智能制造

请不要自己写,Spring Boot非常实用的内置功能

江南一点雨

微信小程序开发小白教学

FinFish

ide 小程序容器 小程序容器技术

华为云Flexus云服务器X实例828特惠!赋能企业云上提质增效

平平无奇爱好科技

Ubuntu上安装libvirtd

百度搜索:蓝易云

API接口接入前:确保顺利集成的标准流程与规范指南

代码忍者

一场马斯克的反爬闹剧:Twitter一夜回到五年前?_安全_Tina_InfoQ精选文章