Недавно я попытался погрузиться в кодовую базу, чтобы разобраться с идентификатором клиента в конечной точке /message-bus/{client-id}/poll. Не могли бы вы дать какие-то указания или направить к соответствующему коду или документации, которые объясняют, что именно представляет собой этот идентификатор клиента и как он устанавливается?
Я могу ошибаться, но clientId, скорее всего, определяет, кому MessageBus должен доставить сообщение X.
Представьте это как диалог, в котором каждые X единиц времени клиент спрашивает сервер: «Эй, у меня идентификатор XYZ, есть ли у вас для меня сообщение?»
Кажется, что clientId автоматически генерируется при каждой загрузке скрипта (я не знаю, сохраняется ли в случае Discourse этот сгенерированный clientId на стороне клиента).
Если первое, то, возможно, опишите, что вы пытаетесь отслеживать и что именно не работает. Я делаю так: использую grep по плагинам в GitHub - discourse/all-the-plugins · GitHub для поиска MessageBus.
Для предоставления дополнительного контекста: мы наблюдаем большое количество вызовов опроса message-bus на нашем хостинге Discourse. Хотели бы проверить, существует ли какая-либо корреляция между идентификаторами клиентов и текущими пользователями. Если такая связь существует, это может помочь нам выявить закономерности и определить эффективные правила ограничения частоты запросов для управления трафиком.
Я в основном этого не понимаю, но вы можете открыть инструменты разработчика браузера и увидеть, что каждое открытое окно регулярно опрашивает шину сообщений. Именно так происходят изменения без перезагрузки страницы: например, редактирование постов, обновление количества сообщений и так далее. Ожидается, что трафик будет значительным. Похоже, что интервал опроса выбирается случайным образом, поэтому вы (или по крайней мере я) не можете легко определить, какому пользователю это принадлежит.
Да — высокое количество вызовов опроса message-bus указывает на большое количество одновременных пользователей, где каждый уникальный client-id представляет сеанс браузера.
Нет — это необходимый трафик, он требуется для функционирования вашего форума. Если вы видите его много, это также признак успеха!