Comprensione di client_id nel message bus

Ciao :wave: ,

Ho provato a immergermi nel codebase di recente, per capire l’ID client nell’endpoint /message-bus/{client-id}/poll. Qualcuno potrebbe fornire una guida o indirizzarmi al codice o alla documentazione pertinente che spieghi cosa rappresenta esattamente questo ID client e come viene impostato?

Grazie in anticipo per il tuo aiuto!

1 Mi Piace

Potrei sbagliarmi, ma è probabile che il clientId serva a identificare a chi il MessageBus dovrebbe recapitare un messaggio X

Immaginalo come una conversazione in cui ogni X quantità di tempo, il client chiede al server “Ehi, ho l’ID XYZ, hai un messaggio per me?”

Il client id sembra essere generato automaticamente ogni volta che lo script viene caricato (non so se nel caso di Discourse questo clientId generato persista in qualche modo sul client)

1 Mi Piace

Stai cercando di usare o capire il message-bus?

Se è la prima opzione, forse descrivi cosa stai cercando di guardare e cosa stai facendo che non funziona. Quello che faccio è usare grep attraverso i plugin in GitHub - discourse/all-the-plugins per MessageBus.

3 Mi Piace

Per fornire un ulteriore contesto, osserviamo un elevato numero di chiamate di polling del message-bus sul nostro hosting discourse. Volevamo verificare se esiste una correlazione tra gli ID client e gli utenti attuali. Se tale connessione esiste, potrebbe aiutarci a identificare pattern e definire regole di rate limiting efficaci per gestire il traffico.

Non lo capisco per la maggior parte, ma puoi guardare negli strumenti per sviluppatori del browser e vedere che ogni finestra aperta interroga regolarmente il message bus. È così che le cose accadono senza ricaricare la pagina, come vedere i post modificati, i conteggi dei messaggi aggiornati e così via. Ci si aspetta che sia molto. Sembra che stia interrogando un numero casuale, quindi tu (o almeno io) non puoi dire (facilmente) di che utente si tratta.

Sì: un numero elevato di chiamate di polling message-bus rappresenta molti utenti concorrenti, dove ogni client-id univoco rappresenta una sessione del browser.

No: questo è traffico necessario, è richiesto per il corretto funzionamento del tuo forum. Se ne vedi molto, è anche un segno di successo! :+1:

3 Mi Piace