3 Stimmen

Wie entwirft man einen skalierbaren twitterähnlichen Dienst?

Hat jemand Informationen über die Architektur von Twitter?

Ein paar Dinge, die mich besonders interessieren:

  • Ich weiß, dass sie Nachrichtenwarteschlangen verwenden. Aber wofür genau werden die Warteschlangen verwendet?

  • Duplizieren" sie Tweets? Wenn ja, wie? Nehmen wir an, ein Nutzer hat 10.000 Follower und twittert "Hallo Welt". Speichert Twitter "Hallo Welt" nur einmal und jeder dieser 10.000 Follower müsste diesen Tweet aus derselben Datenbanktabelle lesen, oder hat jeder Follower seine eigenen "Tweets, denen ich folge"-Daten und "Hallo Welt" wird 10.000 Mal dupliziert, einmal für jeden Follower?

  • Dies hängt mit dem obigen Punkt zusammen: Wie teilen sie ihre Daten auf, nach Tweet-Absender, nach Tweet-Follower, nach Tweet-ID, nach Tweet-Datum oder nach etwas anderem?

  • Wissen Sie, welche Technologien sie verwenden? Ich habe über MySQL, RoR, Starling, Scala und Memcached gelesen. Aber das ist schon eine Weile her und die Informationen waren nicht sehr detailliert. Gibt es aktualisierte Informationen oder mehr Details?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X