Резервный механизм Spring Cloud Config Server с локальной базой данных
Я могу работать с сервером облачной конфигурации, и он работает нормально, но я хотел бы получить дополнительную информацию. Предположим сценарий -
- Сервер облачной конфигурации получает значения с помощью git или какой-либо базы данных.
- Мои микросервисы развернуты в другой системе, которая не может подключиться к серверу конфигурации из-за проблем с сетью или чего-то еще. Впервые предположим, что он подключился и получает значения. Теперь службы не могут подключаться к серверу облачной конфигурации, но микросервисы работают, поскольку он не перезагружался.
- Теперь по какой-то причине мы хотели бы перезапустить наши микросервисы, но сервер конфигурации не работает. В этом случае наше приложение не перезапустится.
Чтобы иметь в виду вышеупомянутый сценарий, я хотел бы знать, есть ли у нас какое-то расширение или контроль на сервере конфигурации или клиенте конфигурации, чтобы при отключении сервера конфигурации он принимал значения из локальной БД, чтобы мое приложение продолжало работать. Позже, когда сервер конфигурации встанет, Приложение получит конфигурацию только с облачного сервера конфигурации.
Спасибо за прочтение.
1 ответ
Когда микрослужба запускается, она сначала пытается связаться с облачной службой конфигурации. Когда облачный сервер конфигурации недоступен, микросервис "откатится" к другим "источникам" конфигураций: application.properties/yaml и т. Д.
Это поведение по умолчанию из коробки.
Обычно, если у вас уже есть облачная служба конфигурации, это означает, что у вас есть довольно сложные настройки. В этом случае подумайте о том, чтобы сохранить реплику серверов облачной конфигурации для обеспечения высокой доступности + внедрить проверку работоспособности, чтобы убедиться, что они работают, чтобы в случае отказа вашей инфраструктуры (кубернетов или чего-то еще) запускался другой экземпляр службы..
Вы также можете использовать облачную службу конфигурации, "встроенную" в ваше приложение, см. Этот учебник, но похоже, что это выходит за рамки этого вопроса