Эмулятор для тем сервисной шины 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. Вы можете использовать конфигурацию, чтобы установить соответствующую службу в зависимости от вашей среды.