Учитывая 2 приложения, в которых
приложение A использует клиент-издатель для спорной потоковой передачи данных в приложение B, у которого есть сокет подсервера для приема этих данных, как мы можем настроить сокет клиента pub в приложении A так, чтобы, когда B недоступен (например, его повторное развертывание, перезапуск), A буферизировал все ожидающие сообщения, а когда B становится доступным, буферизованные сообщения проходят через сокет, а сокет догоняет поток в реальном времени?
В двух словах, как мы можем создавать сообщения буфера сокета PUB CLIENT с некоторым ограничением, пока SUB SERVER недоступен?
Поведение по умолчанию для клиента PUB — переход в состояние отключения звука, но было бы здорово, если бы мы могли изменить это на буфер предельного размера, возможно ли это с помощью zmq? или мне нужно сделать это на уровне приложения...
Я пробовал установить HWM и LINGER в своих сокетах, но если я не ошибаюсь, они отвечают только за медленный потребительский случай, когда мой издатель подключен к подписчику, но подписчик настолько медленный, что издатель начинает буферизовать сообщения (hwm будет ограничивать количество этих сообщений)...
Я использую jeromq, так как я нацеливаюсь платформа JVM.
Подробнее здесь: https://stackoverflow.com/questions/584 ... ket-is-dow