Я разрабатываю серию микросервисов с использованием Spring Boot и планирую развернуть их в Kubernetes.
Некоторые из микросервисов состоят из API, который записывает сообщения в очередь kafka, и слушателя, который прослушиваетставить в очередь и выполняет соответствующие действия (например, запись в БД и т. д., создание сообщений для последующей обработки).
Эти службы работают локально, но я планирую запустить несколько экземпляров микросервиса в Kubernetes. Я думаю о следующих опциях:
Запускать несколько экземпляров как есть (т.е. каждый микросервис служит API и слушателем).
Введите переменную среды FRONTEND, BACKEND. Если переменная FRONTEND имеет значение true, не настраивайте процесс слушателя. Если переменная BACKEND имеет значение true, настройте процесс прослушивателя. Таким образом, я могу начать масштабирование того, как мне могут понадобиться внешние и бэкенд-сервисы, а также воспользоваться возможностью выключения бэкэнд-сервисов без потери запросов.
Любые указатели, лучшие практики или любые другие вариантыбудет высоко ценится.