Как сделать службу весенней загрузки Java автоматически эластичной / избыточной / отказоустойчивой?
У нас есть сервис / процесс весенней загрузки Java, который общается с внешними поставщиками. Он не развертывается с использованием Docker и т. Д. Он в основном отправляет некоторые запросы и потребляет много данных от этих поставщиков, а затем немного преобразует их и затем отправляет их в другую внешнюю (для нашей команды) систему обмена сообщениями в формате запроса / ответа. Давайте назовем это DataDistributorService. Это сервис с низкой задержкой, в котором мы хотим поддерживать состояние приложения. Например, перед запуском процесса мы хотим запомнить, что он отправлял запрос 10 в VendorA и получал msg4000 от VendorC и т. Д. Кроме того, для вызывающих абонентов необходимо было бы иметь некоторый уровень состояния. Очевидно, столько, сколько мы можем.
Мы хотим повысить устойчивость / отказоустойчивость в этом сервисе. Это система с низкой задержкой, которая будет работать в активной / пассивной среде, а не с балансировкой нагрузки.
В настоящее время проект, который я имею в виду, состоит в том, чтобы иметь отказоустойчивую систему mgmt, слушающую сердечные сокращения как от активного, так и от пассивного процессов, и данные / состояние от активного процесса будут передаваться пассивному экземпляру через систему обмена сообщениями kafka?. Если он не получает пульс в течение, скажем, 5сек, система отказоустойчивости переключит активный / пассивный. Есть предложения для такой отказоустойчивой системы с открытым исходным кодом MGMT? Какие-нибудь образцы, определенные для весенней загрузки?
Я относительный новичок в разработке таких систем. Так что было несколько вопросов по этому поводу. Любые предложения будут высоко ценится. Я обнаружил, что информация по этой теме, особенно практическое руководство уровня довольно редко в Интернете. Возможно, я ищу неправильные термины, в этом случае, пожалуйста, приведите меня к нужным ссылкам.
Ура,