Микросервисы Java Spring Kubernetes - генерирование уникального идентификатора для каждой реплики контейнера / службы - PullRequest
0 голосов
/ 20 января 2019

Я работаю с микросервисами в Java Spring MVC. В Kubernetes модули, содержащие эту логику приложения микросервиса, могут масштабироваться / копироваться в зависимости от входящей нагрузки. В двух словах, может быть запущено 2 или более копий моего приложения.

Мне требуется специальный механизм идентификатора, который описывает конкретную реплику / контейнер pod, содержащий приложение. Я думал создать случайное число в качестве дескриптора во время выполнения и сохранить его в качестве идентификатора для контейнера. Но мне было интересно, есть ли лучший способ, учитывая, что я работаю с Spring, TomCat и Kubernetes, я ожидаю, что некоторые из этого стека технологий могут сделать что-то подобное для меня?

1 Ответ

0 голосов
/ 20 января 2019

Кубернетес может сделать это.Каждый Pod будет иметь уникальное имя, к которому вы можете получить доступ как имя хоста или через переменную окружения.Если вы используете стандартный ресурс развертывания, это может измениться, если модуль умирает и воссоздается заново.Мне кажется, что вы хотите StatefulSet, в котором блокам назначаются уникальные порядковые индексы, и они сохраняются при воссоздании - https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity

...