Twitter is firing off about 10 requests a second to itself to try and fetch content that never arrives because Elon’s latest genius innovation is to block people from being able to read Twitter without logging in.
This likely created some hellish conditions that the engineers never envisioned and so we get this comedy of errors resulting in the most epic of self-owns, the self-DDOS.
Bei einer DDOS-Attake (distributed denial of service) wird ein Server mit mehr Anfragen überhäuft als er verarbeiten kann. Als Ergebnis kann niemand auf den Server mehr zugreifen, weil die Leitung “verstopft” ist.
Twitter betreibt ihren Dienst nicht nur auf einem Server, sondern auf vielen gleichzeitig, die alle miteinander reden. Die Webseite ist auf einem Server, die Datenbank, in der die ganzen Tweets gespeichert sind auf einem anderen.
Die Webseite scheint so programmiert zu sein, dass sie weiterhin den Datenbank-Server nach neuen Tweets fragt, auch nachdem die 600 Tweet-Grenze erreicht ist. Die Datenbank liefer die Info “Limit erreicht” zurück, aber keine Tweets, also fragt die Webseite weiter nach neuen Tweets. Etwa 10 Anfragen pro Sekunde. Dadurch hat der Datenbank-Server mit mehr Anfragen zu kämpfen als er verarbeiten kann und liefert auch an Nutzer, die ihre Grenze noch nicht erreicht haben keine Tweets aus
Nach meinem Verständnis: die haben das so umgesetzt, dass irgendein Server Anfragen blockt, wenn du nicht eingelogged bist, und nichts ausliefert. Das Frontend (o.ä.) ist aber nicht darauf ausgelegt, dass die Server absichtlich keinen Content liefern. D.h. es probiert es immer wieder wieder auf’s neue. Und damit die User nicht zu lange (aufgrund eines vom Frontend vermuteten Serverausfalls) auf ihren Content warten müssen, wird 10x pro Sekunde gefragt, wo sonst vielleicht alle paar Skunden oder Minuten eine neue Anfrage käme (wenn man ans Ende seines Feeds kommt). Und das multipliziert für Millionen User.
Das ist so, wie wenn dein Kind ständig den Schlüssel vergisst und du sagst, nach dem 5ten mal wo es den Schlüssel vergisst mach ich die Tür nicht mehr auf. Das Kind wird trotzdem solange noch weiter versuchen zu klingeln bis du aufmachst, auch wenn du von dem Lärm irgendwann Kopfschmerzen bekommst.
In dem Beispiel hast du dem Kind sogar vorher gesagt, dass es sturmklingeln darf, wenn du nicht gleich aufmachst, weil es ja sein kann, dass du ein Klingeln mal uberhörst…
Twitter schickt ungefähr 10 Anfragen pro Sekunde (wahrscheinlich ist hier pro Post oder pro “Thread” oder so gemeint) an sich selbst, die keine Antwort erhalten. Der Grund ist Elons neuester Geniestreich, Leute beim Lesen zu blockieren, die nicht auf Twitter angemeldet sind. Dies erzeugt vermutlich ein paar Wucksie Fucksies, die die nützlichen Schraubenzieher, die Twitter aufgebaut haben nicht vorhergesehen haben. Daraus ergibt sich dieses Clusterfuck aus Fehlern, welcher in einem selbstverschuldeten selbst-DDOS resultiert.
Ok, so viel mehr Sinn macht es auch noch nicht, aber vermutlich versuchen irgendwelche internen Dienste, denen jetzt die Zugriffsrechte entzogen wurden es immer wieder und wieder, bis nichts mehr geht.
Und anscheinend DDOSed sich Twitter gerade selber durch diese Aktion
https://sfba.social/@sysop408/110639435788921057
Ganz ehrlich, ich verstehe diesen Satz nicht.
Bei einer DDOS-Attake (distributed denial of service) wird ein Server mit mehr Anfragen überhäuft als er verarbeiten kann. Als Ergebnis kann niemand auf den Server mehr zugreifen, weil die Leitung “verstopft” ist.
Twitter betreibt ihren Dienst nicht nur auf einem Server, sondern auf vielen gleichzeitig, die alle miteinander reden. Die Webseite ist auf einem Server, die Datenbank, in der die ganzen Tweets gespeichert sind auf einem anderen.
Die Webseite scheint so programmiert zu sein, dass sie weiterhin den Datenbank-Server nach neuen Tweets fragt, auch nachdem die 600 Tweet-Grenze erreicht ist. Die Datenbank liefer die Info “Limit erreicht” zurück, aber keine Tweets, also fragt die Webseite weiter nach neuen Tweets. Etwa 10 Anfragen pro Sekunde. Dadurch hat der Datenbank-Server mit mehr Anfragen zu kämpfen als er verarbeiten kann und liefert auch an Nutzer, die ihre Grenze noch nicht erreicht haben keine Tweets aus
Danke
Nach meinem Verständnis: die haben das so umgesetzt, dass irgendein Server Anfragen blockt, wenn du nicht eingelogged bist, und nichts ausliefert. Das Frontend (o.ä.) ist aber nicht darauf ausgelegt, dass die Server absichtlich keinen Content liefern. D.h. es probiert es immer wieder wieder auf’s neue. Und damit die User nicht zu lange (aufgrund eines vom Frontend vermuteten Serverausfalls) auf ihren Content warten müssen, wird 10x pro Sekunde gefragt, wo sonst vielleicht alle paar Skunden oder Minuten eine neue Anfrage käme (wenn man ans Ende seines Feeds kommt). Und das multipliziert für Millionen User.
Danke für die Erklärung, also ist es einfach nur ein schneller Hack der nichts vollständig durchdacht war.
deleted by creator
Musik Musk
Was hier passiert ist nicht würdig der “Musik” 😄
Das ist so, wie wenn dein Kind ständig den Schlüssel vergisst und du sagst, nach dem 5ten mal wo es den Schlüssel vergisst mach ich die Tür nicht mehr auf. Das Kind wird trotzdem solange noch weiter versuchen zu klingeln bis du aufmachst, auch wenn du von dem Lärm irgendwann Kopfschmerzen bekommst.
In dem Beispiel hast du dem Kind sogar vorher gesagt, dass es sturmklingeln darf, wenn du nicht gleich aufmachst, weil es ja sein kann, dass du ein Klingeln mal uberhörst…
Twitter schickt ungefähr 10 Anfragen pro Sekunde (wahrscheinlich ist hier pro Post oder pro “Thread” oder so gemeint) an sich selbst, die keine Antwort erhalten. Der Grund ist Elons neuester Geniestreich, Leute beim Lesen zu blockieren, die nicht auf Twitter angemeldet sind. Dies erzeugt vermutlich ein paar Wucksie Fucksies, die die nützlichen Schraubenzieher, die Twitter aufgebaut haben nicht vorhergesehen haben. Daraus ergibt sich dieses Clusterfuck aus Fehlern, welcher in einem selbstverschuldeten selbst-DDOS resultiert.
Ok, so viel mehr Sinn macht es auch noch nicht, aber vermutlich versuchen irgendwelche internen Dienste, denen jetzt die Zugriffsrechte entzogen wurden es immer wieder und wieder, bis nichts mehr geht.
Du hast es nun quasi erklärt :)