Использование слотов развертывания функций Azure с EventHub

#azure-functions #azure-eventhub

#azure-функции #azure-eventhub

Вопрос:

У меня есть приложение Azure function, которое обрабатывает данные из EventHub. Мой текущий процесс CI / CD использует слоты развертывания для развертывания:

  1. Развертывание функции в промежуточный слот
  2. Проверьте промежуточный слот с помощью дымового теста
  3. Замена промежуточной обработки на рабочую

Сам поток CI / CD работает без проблем. Однако в то время, когда мой промежуточный слот активен, я, по сути, дважды обрабатываю сообщения из EventHub, поскольку есть два активных функциональных приложения.

Каков наилучший практический способ обработки CI / CD для подобных интеграционных приложений? Есть ли способ привязать события к определенному слоту с помощью EventHub в привязке функции? Возможно, это неизбежно, и решение заключается в удвоении идемпотентности?

Комментарии:

1. Это интересный вопрос, поскольку концентраторы событий разрешают только одно активное развертывание для определенной группы потребителей. Интересно, развертываете ли вы как производственные, так и промежуточные, ориентированные на одну и ту же группу потребителей EH.

2. Да, я на самом деле указываю группу потребителей в функции, поэтому промежуточный слот должен использоваться так же, как и рабочий. Кажется странным создавать группу потребителей для промежуточной обработки, особенно учитывая, что это удвоило бы мои затраты. Может быть, способ, которым я использую промежуточный слот в качестве основы для prod, вводит в заблуждение?

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

4. @SerkantKaraca — есть ли у вас кто-нибудь из этой команды, кого вы могли бы попросить о помощи?

Ответ №1:

Вы можете использовать параметры приложения slot sticky, чтобы определить, какую группу потребителей использовать, к которой будут применяться во время обмена.

Убедитесь, что вы используете настройку свойства группы потребителей для ссылки на настройки приложения.

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

Комментарии:

1. Параметр «Настройка слота развертывания» был именно тем, что мне здесь было нужно. Спасибо!