Релиз 1.7 - ПульсСоединениеяССвервером

Из нововедений

  • Реализована отправка пакетов heartbeat для поддержания долговременных соединений
  • Повышена стабильность работы соединения в кластерной среде с использованием tcp-балансировщиков
  • Расширены API прикладных классов ИздательСобытий, ПолучательСобытий. Добавлен метод ИспользуемыйКлиент для получения объекта компоненты
  • Добавлена форма администрирования подсистемы для более удобного встраивания в существующие интерфейсы

Если без формальностей - то теперь серверный и клиентский ПульсСоединения (в простонародии heartbeat) работает уже с момента установки соединения, а не после применения метода Tune. Метод НастроитьСоединение() как и раньше меняет поведение на клиенте, но можно указать это параметр и на сервере RabbitMQ

Особое внимание следует уделить вот этой секции документации на сервер https://www.rabbitmq.com/heartbeats.html#tcp-proxies

При настройке балансировщиков следует четко понимать, что у них также есть параметр через какое время считать соединение мертвым (idle) - устанавливая серверный Пульс по умолчанию, а также на клиенте следует учитывать параметр выставленный на HAProxy и других балансировщиках нагрузки.

По умолчанию у сервера 3.6+ Пульс равен 60 секунд, на клиенте ТаймаутСоединения / 2

Администраторам кластеров следует подробней изучить вот этот раздел документации https://www.rabbitmq.com/troubleshooting-networking.html

Огромную часть исследования при помощи WireShark и тестового контура провел @Bronislav - за что ему почёт, уважение и безмерная благодарность.

3 Симпатий

Релиз разослан по телекоммуникационным каналам

Работает, спасибо!


Не забудьте почистить кеш после обновления!