Entendendo client_id no message bus

Olá :wave: ,

Tentei mergulhar na base de código recentemente para descobrir o ID do cliente no endpoint /message-bus/{client-id}/poll. Alguém poderia me fornecer alguma orientação ou me direcionar para o código ou documentação relevante que explique o que exatamente esse ID de cliente representa e como ele é definido?

Agradeço antecipadamente pela sua ajuda!

1 curtida

Posso estar enganado, mas o clientId provavelmente serve para identificar para quem o MessageBus deve entregar a mensagem X.

Imagine como uma conversa em que a cada X período de tempo, o cliente pergunta ao servidor “Ei, eu tenho o id XYZ, você tem alguma mensagem para mim?”

O id do cliente parece ser gerado automaticamente toda vez que o script é carregado (não sei se no caso do Discourse este clientId gerado de alguma forma persiste no cliente)

1 curtida

Você está tentando usar ou entender o message-bus?

Se for o primeiro caso, talvez descreva o que você está tentando assistir e o que está fazendo que não está funcionando. O que eu faço é usar grep nos plugins em GitHub - discourse/all-the-plugins para MessageBus.

3 curtidas

Para fornecer mais contexto, observamos um alto número de chamadas de poll do barramento de mensagens em nossa hospedagem do Discourse. Queríamos verificar se há alguma correlação entre IDs de cliente e usuários atuais. Se tal conexão existir, isso poderia nos ajudar a identificar padrões e definir regras eficazes de limitação de taxa para gerenciar o tráfego.

Eu, na maior parte, não entendo, mas você pode olhar as ferramentas de desenvolvedor do navegador e ver que cada janela aberta está consultando regularmente o barramento de mensagens. É assim que as coisas acontecem sem recarregar a página, como ver posts sendo editados, contagens de mensagens atualizadas e assim por diante. Espera-se que seja muito. Parece que está consultando um número aleatório, então você (ou pelo menos eu) não consegue dizer (facilmente) qual é o usuário.

Sim - um alto número de chamadas de sondagem do message-bus representa muitos usuários simultâneos, onde cada client-id exclusivo representa uma sessão de navegador.

Não - este é tráfego necessário, é exigido para que seu fórum funcione. Se você vê muito, também é um sinal de sucesso! :+1:

3 curtidas