Для некоторого серверного кода, над которым я работал, я создавал очереди сообщений и нуждался в уникальных именах. Имена были построены с использованием нескольких элементов окружения, а последний элемент - process.pid
. Весь наш серверный код упакован в контейнер Docker, и этот контейнер запускается на разных экземплярах сервера в разных регионах. Рассматривая операторы журнала, мы заметили, что значения pid были одинаковыми на обоих экземплярах нашего сервера в каждом регионе, где он был развернут.
Я понимаю, что образы Docker являются клонами друг друга, и мой парень из DevOps говорит, что тогда они должны быть одинаковыми, но, учитывая, что наши числа pid были в диапазоне, равном 65xx, мне трудно поверить, что наши экземпляры процесса приложения закончились одинаковые номера.
Другая странная вещь здесь - это то, что значения pid были общими только для данного региона AWS. Таким образом, наши экземпляры США-Восток разделили один пид, а наши экземпляры США-Запад разделили другой. Два числа были близки, может быть, что-то вроде 6529 и 6631.
Я думаю, что мой вопрос заключается в том, как создается pid, потому что способ, которым я думаю, что он будет создан, должен быть ошибочным.