Wie würdest du ein Twitter-ähnliches Nachrichtensystem entwerfen, wie gestalte ich das Nachrichtensystem? [geschlossen]

8

Wenn Sie eine Anwendung wie Twitter erstellen würden, wie würden Sie das Nachrichtensystem gestalten?

Suchen Sie gezielt nach Ideen zum grundlegenden Datenmodell und wie Sie die Methode schreiben würden, die den Tweet des Benutzers annimmt und an alle Follower sendet?

Beispiel:

%Vor%

ist das obige Modell ein guter Ausgangspunkt?

Würden Sie zuerst den Tweet einfügen und dann eine Nachricht in die Warteschlange schieben. Dann eins nach dem anderen, eine Nachricht aus der Warteschlange nehmen und die Nachricht an ihre Abonnenten schieben?

(Ich ignoriere die mobile Funktionalität von Twitter und konzentriere mich nur auf die webbasierte Funktionalität, aber ich dachte daran, eine Warteschlange von Anfang an zu verwenden, um später weitere Funktionen hinzuzufügen)

    
user275475 22.02.2010, 15:13
quelle

2 Antworten

8

Der Blog "High Scalability" hat eine Reihe von Artikeln auf Twitter und seine Infrastruktur und Änderungen im Laufe der Zeit, die Sie interessieren könnten.

    
matt b 22.02.2010 15:29
quelle
0

Ich glaube nicht, dass Twitter eine Nachrichtenwarteschlange verwendet (Posteingang in Ihrem Datenmodell). Ich denke, in Twitter wird alles über Datum erledigt. So hat jeder Benutzer ein "zuletzt angesehenes Datum" und die Inbox / Nachrichtenwarteschlange wird erstellt, indem nach dem zuletzt angesehenen Datum nach allen abonnierten Tweets gesucht wird.

Um das Datenmodell zu ändern, entfernen Sie den Posteingang und fügen dem Benutzer eine letzte Datumsspalte hinzu.

Ich würde auch erwarten, dass die Follower-Information nicht so gespeichert wird, als ob jemand einem Benutzer folgt, sondern stattdessen, welchen Benutzern ein Benutzer folgt. Natürlich könnte es in beiden Richtungen gespeichert werden, aber das scheint für mich mehr Sinn zu ergeben.

    
Hogan 22.02.2010 15:20
quelle

Tags und Links