2012-01-25 1 views
2

У нас есть ряд тем в Azure SB и постоянно обновляем нашу среду посредством обмена VIP от постановки на производство.Техника для обработки ServiceBus Абоненты, работающие в Azure, при использовании ReceiveMode.ReceiveAndDelete

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

Решение, которое я разработал, заключается в создании подписки, которые включают имя RoleEnvironment.SubscriptionId в имени. Затем они удаляются во время RoleEntryPoint.OnStop(), чтобы избежать неиспользуемых подписки.

Есть ли более элегантное решение для этого, и я пропущу что-то очевидное?

ответ

0

Один из подходов состоит в том, чтобы настроить параметры, которые ваше приложение понимает. Затем он может быть изменен между промежуточными/производственными средами, и одно и то же значение конфигурации может использоваться для включения/выключения работы, которую вы не хотите производить. Для служебной шины вы можете создать пространство имен Staging и Production, а затем поместить url в config.

+0

Проблема в том, что нет «хорошего» способа определить, находится ли что-то в производстве или постановке. Если его вытаскивают из config, то любое изменение в этом обмене конфигурационного сообщения требует времени простоя. –

+0

Я исследовал это еще несколько и нашел шаги, которые указывают, что вы можете предотвратить перезапуск при изменении конфигурации, если вы выберете: http://www.codeproject.com/Articles/63977/Windows-Azure-Development-Deep-Dive-Working- С-С –

 Смежные вопросы

  • Нет связанных вопросов^_^