Как Spring Cloud AWS получает конечную точку конфигурации из логического имени кластера кэша? - PullRequest
0 голосов
/ 28 августа 2018

Я читал документацию по кешированию с использованием Spring Cloud AWS
http://cloud.spring.io/spring-cloud-static/spring-cloud-aws/2.0.0.RELEASE/multi/multi__caching.html

В последнем разделе упоминается, что он автоматически получает физическое имя кластера кеша из своего логического имени. Как это сделать?
Я имею в виду, что у меня может быть несколько стеков с одним и тем же логическим именем, но разными физическими именами.

1 Ответ

0 голосов
/ 28 августа 2018

После просмотра исходного кода я нашел ответ.

Spring Cloud использует класс StackResourceRegistryDetectingResourceIdResolver, который разрешает логические идентификаторы в идентификаторы физических ресурсов из стековых ресурсов с помощью клиента Amazon для формирования облаков.

Теперь вы можете задаться вопросом, как он получает ресурсы стека без имени стека. Это достигается с помощью идентификатора экземпляра EC2, который всегда доступен из метаданных экземпляра (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).

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

Он также имеет аварийное переключение, при котором он возвращает имя стека, получая теги экземпляра, в котором имя стека присутствует в aws:cloudformation:stack-name

...