Это то, чего я пытаюсь достичь, но я недостаточно хорошо знаком с предметом, поэтому, пожалуйста, потерпите меня:)
У меня есть сервер, к которому подключаются некоторые устройства и периодически загружают некоторые данные.
Связь осуществляется через обычные TCP-сокеты с использованием запатентованного протокола, который мы разработали для скорости и эффективности. Каждое такое соединение - это, по сути, сеанс, который открыт, пока устройство остается подключенным. Теперь мне нужно (1) спроектировать механизм отработки отказа и (2) увеличить масштаб. Был бы другой серверный узел, который подхватил бы, когда первый экземпляр терпит неудачу. Я смотрел на Терракоту, чтобы сделать легкий кластер. Но что я не понимаю, как устройства будут работать для второго узла? Я мог бы, вероятно, «научить» их пробовать несколько точек доступа ... но это действительно было бы больно, поскольку некоторые из них находятся вне моего контроля. В идеале мне нужно немного магии в середине, которая бы перенаправляла соединение автоматически на любой доступный узел в кластере.
Теперь. Первое, что я хочу знать, это то, как такие инструменты называются в мире. Второе - мне нужно простое готовое решение, желательно бесплатное или с открытым исходным кодом с дружественной коммерческой лицензией. Мы не используем тяжеловесные контейнеры, экземпляр сервера - это связка POJO, связанных с Spring, все работает в одной JVM. В идеале я хотел бы разместить такой волшебный ящик на одном из узлов, выставить один IP / порт для всех устройств и выполнить некоторые настройки. настроить. Возможно ли это или я мечтаю о дешевом решении сложной проблемы?