у нас есть сервер WebSocket, который создает отдельную группу потребителей для каждого клиента WebSocket, чтобы каждый пользователь WebSocket мог получать обновления по теме Kafka независимо друг от друга. Мы используем верблюжий API для создания потребителя Kafka (групп), который в любом случае использует нативные Java API-интерфейсы Kafka, так что это не имеет ничего общего с Camel, но упоминает о верблюде просто как к сведению.
благодаря использованию мониторинга JMX и JMC мы обнаружили, что контрольные потоки Kafka блокируются и число подсчетов для заблокированных потоков увеличивается экспоненциально для каждой новой группы потребителей, которая создается при каждом присоединении нового клиента WebSocket. приложив скриншот для более подробной информации. интересно, почему Kafka-потребитель / сердцебиение вызывает такой большой конфликт потоков, влияющий на общее поведение приложения, заканчивающееся исчерпанием сока.