Эмулятор для тем сервисной шины Azure на местном

Я новичок в мире Azure. Мы создаем систему, которая на высоком уровне выполняет следующие действия: 1. Подписывается на тему служебной шины (использует Microsoft.azure.servicebus). 2. Прослушивает события (использует Microsoft.azure.servicebus). 3. выполняет некоторые действия, когда событие вступает в действие. подписка

Любопытно узнать, существует ли способ локально эмулировать раздел служебной шины Azure без подключения к реальной служебной шине. Наша идея - использовать этот эмулятор для разработки и тестирования локально, без подключения к служебной шине Azure (по разным причинам).

Найден "эмулятор хранилища Azure", с помощью которого мы можем создавать очереди и контейнеры BLOB-объектов локально. Мне не удалось найти тему для создания тем с помощью "Эмулятора хранилища Azure".

Очень помогло бы руководство о том, как эмулировать темы служебной шины на местном уровне, а также о том, как тестовые системы строятся вокруг темы шины событий Azure.

Нашел аналогичный вопрос (заданный в 2016 году), там не было никаких эмуляторов или подходов (кроме использования реальной сервисной шины Azure). Следовательно, спрашиваю снова.

Заранее спасибо.

2 ответа

Решение

В настоящее время нет возможности эмулировать служебную шину Azure на месте. И вряд ли у вас будет традиционный эмулятор, похожий на тот, который вы хотели бы иметь в ближайшее время.

Эмулятор хранилища Azure предназначен для очередей хранилища, представляющих собой другую службу, а не служебную шину. Очереди хранения - это служба очередей, которая не поддерживает Pub / Sub из коробки. Если возможность тестирования в автономном режиме является показательным ограничителем, и вы не хотите тратить время на создание этой возможности, вы можете изучить одну из сред обмена сообщениями, которые работают поверх службы очередей хранилища Azure и предоставляют pub/sub. Одним из них является NServiceBus, который имеет транспортную очередь хранения.

Отказ от ответственности: я работаю на NServiceBus.

Если вы используете уровень абстракции (например, MassTransit), вы можете заменить сервисную шину Azure на другого поставщика шины сообщений на что-то, что можно запустить локально, например RabbitMQ. Вы можете использовать конфигурацию, чтобы установить соответствующую службу в зависимости от вашей среды.

Другие вопросы по тегам