Стратегия обновления сервера-клиента Spring Cloud - PullRequest
0 голосов
/ 11 марта 2019

Я очень новичок в весеннем облачном мире и пытаюсь настроить сервер конфигурации с маленькими микросервисами. Мне удалось настроить таблицу базы данных MySQL в качестве источника данных, и мои клиентские Microservices могут получить конфигурации, как и ожидалось.

Конфиг-сервер bootstrap.yml

  profiles:
    active: jdbc
  datasource:
    url: jdbc:mysql://qweqwewqrwqrwqwq.us-east-1.rds.amazonaws.com/TEST
    username: user
    password: user123
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      maximum-pool-size: 10
      connection-timeout: 5000
  cloud:
    config:
      server:
        jdbc:
          sql: SELECT `key`, value FROM properties WHERE application=? and profile=? and label=?
          order: 1

Я также использовал @RefreshScope на своем клиентском микросервере, чтобы включить обновление привода. Я заметил, что при перезапуске (остановке и перезапуске приложения Springboot) клиентского микро-сервиса он автоматически выбирает самую последнюю конфигурацию.

Это означает, что в мире AWS, когда из-за автоматического масштабирования появляется новый экземпляр Microservices, он выбирает наиболее обновленную конфигурацию. Где существующие экземпляры будут по-прежнему иметь старую конфигурацию.

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

...