Пользовательский опросщик Spring, использующий динамическое максимальное сообщение для каждого значения опроса

Я в настоящее время разрабатываю SMPP Платформа, которая должна быть способна доставлять определенное количество смс в секунду.

Это было легко реализовано с помощью amqp с пружинной интеграцией

НО

Мне нужно запустить проект как active-active сервис на 2 узла и каждый узел имеет подключение к 2 SMSC.
Для этой конфигурации у меня есть разрешенный трафик 100 мсг / с, и мне нужно идеально распределить свой трафик по всем доступным соединениям.

Простой опросчик может быть легко настроен на 25 мс / с для каждого узла (4 * 25 = 100), но если одно из моих соединений не работает, я хочу распространить потерянную емкость на другие узлы / соединения в прямом эфире.

Для этого я хотел бы создать динамический опросчик, который получает информацию о состоянии соединения в redis и просто адаптировать количество сообщений, разрешенных для каждого опроса во время выполнения (0 для разорванного соединения и 33% для 3 других, например, или 50%, если доступно только 2 соединения на 4).

Можно ли реализовать это поведение с помощью пользовательского PollerMetadata или я должен искать какое-то другое решение?

Спасибо заранее за помощь.

1 ответ

Опрос довольно тяжелый и может считаться "старомодным" в наши дни.

Я настоятельно рекомендую попробовать: Sse (событие отправки сервера) или websocket.

Многие технологии также поддерживают оба вышеуказанных решения (весна...)

Вы можете найти более подробно в этой статье:

https://codeburst.io/polling-vs-sse-vs-websocket-how-to-choose-the-right-one-1859e4e13bd9

Другие вопросы по тегам