1) Есть ли способ, которым мы можем установить свойства среды на уровне отдельного экземпляра?
CF Cli скажет вам, что вам нужно перезагрузить приложение для изменений в средепеременные вступают в силу.Обычно вы можете избежать перезагрузки, если только вы не изменяете переменную env, которая влияет на buildpack / что происходит во время подготовки.
Я провел быстрый тест, и кажется, что требуется хотя бы перезагрузка.Если я изменю переменную env и увеличу масштаб приложения, все экземпляры будут иметь исходное значение env.После перезапуска все экземпляры имеют новое значение.Вероятно, это хорошая вещь, поскольку вы не хотите, чтобы у разных экземпляров приложения были разные значения, поскольку это может привести к путанице.
2) Это правильный подход?
Вероятно, не для Cloud Foundry.Я бы предложил сделать что-то, где у вас есть имя очереди, которое является шаблоном, например переменная окружения somequeue- . You can then pull the app instance number out of the
VCAP_APPLICATION, и использовать это для получения уникального имени очереди для экземпляра приложения, например somequeue-0, somequeue-1.'и' somequeue-2 '.
В противном случае приложение должно запрашивать имя очереди откуда-то, например, на сервере конфигурации или в базе данных.Таким образом, он может динамически загружать имя очереди при запуске.
Надеюсь, это поможет!