Autofa c Dependecy Injection Azure функция SingleInstance - PullRequest
0 голосов
/ 26 февраля 2020

Я перешел по этой ссылке. https://dontcodetired.com/blog/post/Azure-Functions-Dependency-Injection-with-Autofac

Autofa c Связывание во время выполнения

Работало нормально. Я хочу знать, когда функция azure масштабируется, объект, введенный в функцию azure, будет использоваться всеми экземплярами функции azure. В этом случае объект является NaiveInvestmentAllocator.

Дайте мне знать, если у вас есть какие-либо сомнения. Также я фактически реализовал комбинацию из двух ссылок. Это похоже на фабричный шаблон, используемый для получения объекта экземпляров из контейнера Autofa c. Я могу поделиться кодом, если кто-нибудь захочет. Но я не думаю, что это необходимо.

У меня вопрос: если я реализовал первую ссылку, внедренный объект используется всеми экземплярами одной и той же функции azure или нет?

1 Ответ

1 голос
/ 03 марта 2020

Нет.

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

Если требуется наличие общего состояния для нескольких экземпляров приложения функции, вы должны разгрузить постоянство состояния примерно так: Redis , Хранение таблиц , Хранение BLOB-объектов , et c.

Например, вы можете использовать Azure Кэш например, для Redis и введите клиент для этого класса в ваш класс обслуживания.

Если вы хотите сохранить количество открытых соединений, обратите внимание, что ограничение за экземпляр.

...