Как мне обновить приложение Scala RAFT в режиме реального времени без простоев? - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть приложение JVM, которое использует LevelDB и реплицирует значения ключей на 3-5 других машин, используя протокол RAFT. Каждый кластер RAFT является своим собственным разделом, и в общей сложности существует 10 разделов / 10 независимых кластеров RAFT, которые могут увеличиться в будущем.

Что я хотел бы сделать, это обновить все кластеры с более новой версией приложения без каких-либо простоев. Единственный способ, о котором я могу подумать, - это обновлять машину за раз, чтобы в кластере всегда работало большинство узлов, пока обновляется одна машина в кластере.

Я уверен, что это решенная проблема. У меня нет большого опыта разработки приложений в реальном времени. Кто-нибудь может предложить более простые решения, которые не требуют обновления серверов один за другим - если это возможно?

...