Ich habe kürzlich versucht, mich in die Codebasis einzuarbeiten, um die Client-ID im Endpunkt /message-bus/{client-id}/poll herauszufinden. Könnte mir jemand bitte Anleitungen geben oder mich auf den relevanten Code oder die Dokumentation verweisen, die erklärt, was genau diese Client-ID darstellt und wie sie festgelegt wird?
Ich könnte mich irren, aber die clientId identifiziert wahrscheinlich, an wen der MessageBus eine Nachricht X liefern soll
Stellen Sie es sich wie ein Gespräch vor, bei dem der Client den Server alle X Zeit fragt: “Hey, ich habe die ID XYZ, hast du eine Nachricht für mich?”
Die Client-ID scheint jedes Mal automatisch generiert zu werden, wenn das Skript geladen wird (ich weiß nicht, ob diese generierte Client-ID im Fall von Discourse irgendwie auf dem Client bestehen bleibt)
Versuchen Sie, die message-bus-Funktion zu verwenden oder zu verstehen?
Wenn Ersteres zutrifft, beschreiben Sie vielleicht, was Sie beobachten möchten und was nicht funktioniert. Ich durchsuche die Plugins in GitHub - discourse/all-the-plugins nach MessageBus.
Um weiteren Kontext zu geben: Wir beobachten eine hohe Anzahl von „message-bus poll“-Aufrufen auf unserem Discourse-Hosting. Wir wollten prüfen, ob es eine Korrelation zwischen Client-IDs und aktuellen Benutzern gibt. Wenn eine solche Verbindung besteht, könnte dies uns helfen, Muster zu identifizieren und effektive Ratenbegrenzungsregeln zur Verwaltung des Datenverkehrs zu definieren.
Ich verstehe es größtenteils nicht, aber man kann sich die Browser-Entwicklertools ansehen und sehen, dass jedes offene Fenster regelmäßig die Message Bus abfragt. So passieren Dinge, ohne dass die Seite neu geladen werden muss, wie z. B. das Bearbeiten von Beiträgen, das Aktualisieren von Nachrichtenanzahlen usw. Es wird erwartet, dass es viel sein wird. Es sieht so aus, als ob eine Zufallszahl abgefragt wird, so dass man (zumindest ich) nicht (leicht) erkennen kann, um welchen Benutzer es sich handelt.
Ja – eine hohe Anzahl von message-bus poll Aufrufen repräsentiert viele gleichzeitige Benutzer, wobei jede eindeutige client-id eine Browsersitzung darstellt.
Nein – dies ist notwendiger Datenverkehr, er ist für die Funktion Ihres Forums erforderlich. Wenn Sie viele sehen, ist das auch ein Zeichen für Erfolg!