1 回答
TA贡献1795条经验 获得超7个赞
有两种方法可以解决此问题。
第一种方法是最明显的 - 您需要使用虚拟主机。
从文档中:
虚拟主机提供资源的逻辑分组和分离。物理资源的分离不是虚拟主机的目标,应被视为实现细节。
在您的 RMQ 实例中创建两个虚拟主机,名为test
和prod
,您在 MassTransit 端唯一需要做的就是更改 RMQ 连接字符串:
Bus.Factory.CreateUsingRabbitMq(cfg =>
{
cfg.Host(new Uri("rabbitmq://localhost/test"), host =>
{
host.Username("username");
host.Password("password");
});
});
所以您将用于rabbitmq://localhost/prod生产。当然,这些值不应该是硬编码的,而是来自配置。
我相信虚拟主机完全可以满足您的需求。
如果你确实需要完全独立地运行测试环境,你可以在 Docker 容器中运行它。当您需要一个干净的环境时,此选项将使您能够杀死整个事情并从头开始。您可以轻松地重新映射默认端口,以避免与生产实例发生冲突:
docker run -d --name test-rmq -p 5673:5672 -p 8080:15672 rabbitmq:3-management
如果您运行上面的命令,则可以通过 AMQP on 访问新实例localhost:5673,并且管理插件将打开http://localhost:8080
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报