Kubernetes — Масштабирование Службы С Отслеживанием Состояния, Имеющей Первичную/Вторичную Архитектуру, Путем Установки Свойства

  • Автор темы Mudazvon
  • Обновлено
  • 17, Oct 2024
  • #1

У меня есть веб-служба состояния Java, которая подключается к mongodb, и в настоящее время она развертывается как jar непосредственно на виртуальной машине. Эта служба имеет свойство в файле свойств, т.е. primary .

Если мы установим primary to true then it is primary instance of the application and on this instance mongodb aggregation will happen.

Если мы установим primary to false then it is secondary instance of the application and on this instance no mongodb aggregation will happen but it will serve all read and write queries.

Сейчас мы переходим к развертыванию k8s.

Проблемы:

Как нам установить значение «основной» во время развертывания модуля k8s с несколькими репликами?

Как нам справиться с сбоем основного экземпляра модуля приложения?

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

Заранее спасибо.

#kubernetes #java #масштабируемость

Mudazvon


Рег
30 Dec, 2006

Тем
82

Постов
218

Баллов
668
  • 25, Oct 2024
  • #2

Вы ищете выборы лидера шаблон. Это можно реализовать разными способами. Обычно это означает, что экземпляр взять замок в некоторой форме постоянного хранилища, например. база данных PostgreSQL, Redis или сам etcd.

Также см. Схема выборов лидера Java и Выборы лидера в распределенных системах

 

Volgin


Рег
14 Sep, 2011

Тем
75

Постов
186

Баллов
571
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно