IQChannels поддерживает работу в режиме кластера для обеспечения отказоустойчивости и горизонтальной масштабируемости сервера приложений.
Особенности кластера:
- В кластере может быть несколько нод с серверным приложением IQChannels (рекомендуется, до 3—5).
- Все ноды в кластере равноправны, среди нод нет Single Point of Failure.
- Балансировка входящих подключений между нодами, как со стороны клиентов, так и со стороны операторов, происходит с помощью Nginx или любого другого прокси-сервера.
- Ноды взаимодействуют между собой по внутреннему Cluster API, построенному поверх ZeroMQ и работающему на порте :3010.
- В случае выхода из строя одной или нескольких нод Nginx автоматически распределит подключения между работающими нодами.
- Конфигурация нод должна быть одинаковой, в конфигурации каждой ноды должны быть указаны адреса всех нод кластера.
Пример развертывания кластера: