Несколько сообщений одного типа в служебной шине Azure
Я пытаюсь понять функциональность Azure Service Bus. У меня есть приложение, развернутое в разных средах (dev, test, staging и т. Д.). Из того, что я видел, вы можете иметь только один тип сообщения на шину? Значит ли это, что для поддержки каждой среды мне нужен отдельный экземпляр служебной шины? Я использую Masstransit, и, так как для его работы требуется стандартная версия сервиса, мне придется платить значительную сумму за каждый экземпляр каждый месяц. Есть ли обходной путь? Является ли использование RabbitMQ вместо моего единственного варианта?
1 ответ
Похоже, вы смешиваете несколько вещей здесь. Чтобы быть более конкретным - топология MassTransit и служба Azure Service Bus. Если вы развернете конечную точку для нескольких сред (test
а также prod
например) в том же пространстве имен Azure Servie Bus, оно, очевидно, будет конфликтовать, так как MassTransit будет использовать те же объекты, которые требуются для вашей конечной точки для обоих test
а также prod
,
Вместо этого вы должны использовать пространство имен для каждой среды. Т.е. создать 2 пространства имен (например project-test.servicebus.windows.net
а также project-prod.servicebus.windows.net
). Таким образом, вы можете развернуть ту же конечную точку MassTransit, которая будет создавать идентичные объекты, но они будут разделены по пространству имен.
К вашей заботе о стоимости - на уровне Standard вы платите ежемесячную плату за использование сервиса (плюс все транзакции с сообщениями, чтобы прояснить ситуацию), а не количество создаваемых вами пространств имен.