我正试图了解Azure Service Bus功能。我有一个应用程序部署到不同的环境(开发,测试,登台等)。根据我的看法,每辆公交车只能有一种消息类型?是否意味着要支持每个环境,我需要一个单独的服务总线实例?我正在使用Masstransit,因为它需要运行标准版本的服务,所以我每个月都需要为每个实例支付大笔费用。有没有解决方法?使用RabbitMQ是我唯一的选择吗?
答案 0 :(得分:1)
看起来你在这里混合了很多东西。更具体地说 - MassTransit拓扑和Azure Service Bus服务。如果将多个环境(例如test
和prod
)的端点部署到同一个Azure Servie Bus命名空间,它显然会发生冲突,因为MassTransit将使用端点所需的相同实体{{ 1}}和test
。
而不是那样,您应该为每个环境使用命名空间。即创建2个名称空间(例如prod
和project-test.servicebus.windows.net
)。这样,您可以部署将创建相同实体的相同MassTransit端点,但它们将按命名空间隔离。
关于成本的问题 - 在标准层上,您需要按月支付服务使用费(加上所有消息交易,只是为了清楚),而不是您创建的命名空间数量