Понимание client_id в message bus

Привет :wave: ,

Недавно я попытался погрузиться в кодовую базу, чтобы разобраться с идентификатором клиента в конечной точке /message-bus/{client-id}/poll. Не могли бы вы дать какие-то указания или направить к соответствующему коду или документации, которые объясняют, что именно представляет собой этот идентификатор клиента и как он устанавливается?

Заранее спасибо за помощь!

Я могу ошибаться, но clientId, скорее всего, определяет, кому MessageBus должен доставить сообщение X.

Представьте это как диалог, в котором каждые X единиц времени клиент спрашивает сервер: «Эй, у меня идентификатор XYZ, есть ли у вас для меня сообщение?»

Кажется, что clientId автоматически генерируется при каждой загрузке скрипта (я не знаю, сохраняется ли в случае Discourse этот сгенерированный clientId на стороне клиента).

Вы пытаетесь использовать или понять message-bus?

Если первое, то, возможно, опишите, что вы пытаетесь отслеживать и что именно не работает. Я делаю так: использую grep по плагинам в GitHub - discourse/all-the-plugins · GitHub для поиска MessageBus.

Для предоставления дополнительного контекста: мы наблюдаем большое количество вызовов опроса message-bus на нашем хостинге Discourse. Хотели бы проверить, существует ли какая-либо корреляция между идентификаторами клиентов и текущими пользователями. Если такая связь существует, это может помочь нам выявить закономерности и определить эффективные правила ограничения частоты запросов для управления трафиком.

Я в основном этого не понимаю, но вы можете открыть инструменты разработчика браузера и увидеть, что каждое открытое окно регулярно опрашивает шину сообщений. Именно так происходят изменения без перезагрузки страницы: например, редактирование постов, обновление количества сообщений и так далее. Ожидается, что трафик будет значительным. Похоже, что интервал опроса выбирается случайным образом, поэтому вы (или по крайней мере я) не можете легко определить, какому пользователю это принадлежит.

Да — высокое количество вызовов опроса message-bus указывает на большое количество одновременных пользователей, где каждый уникальный client-id представляет сеанс браузера.

Нет — это необходимый трафик, он требуется для функционирования вашего форума. Если вы видите его много, это также признак успеха! :+1: