Механизм отката Spring Cloud Config Server с локальной базой данных - PullRequest
0 голосов
/ 10 марта 2020

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

  1. Сервер облачных настроек получает значения, используя git или некоторую базу данных.
  2. Мои микросервисы развернуты в какой-то другой системе, которая не может подключиться настроить сервер из-за проблем с сетью или чего-то еще. Впервые предположим, что он подключился и получил значения. Теперь службы не могут подключиться к облачному серверу конфигурации, но микросервисы работают, поскольку он не перезапускается.
  3. Теперь по какой-то причине мы хотели бы перезапустить наши микросервисы, но сервер конфигурации не работает. В этом случае наше приложение не будет перезагружаться.

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

Спасибо за чтение.

1 Ответ

0 голосов
/ 10 марта 2020

При запуске микросервиса он сначала пытается связаться со службой конфигурации облака. Когда сервер облачной конфигурации недоступен, микросервис будет «откатываться» на другие «источники» конфигураций: application.properties/yaml, et c.

Это стандартное поведение по умолчанию.

Обычно, если у вас уже есть служба облачной конфигурации, это означает, что у вас достаточно продвинутая настройка. В этом случае подумайте о том, чтобы сохранить реплику серверов облачной конфигурации для обеспечения высокой доступности + внедрить проверку работоспособности, чтобы убедиться в их работоспособности, чтобы в случае ее отказа ваша инфраструктура (kubernetes или все, что у вас было) запустила другой экземпляр службы. .

Вы также можете использовать облачную конфигурационную службу, "встроенную" в ваше приложение см. Это руководство Но это выглядит как выход за рамки этого вопроса

...