1 回答

TA貢獻1795條經驗 獲得超7個贊
有兩種方法可以解決此問題。
第一種方法是最明顯的 - 您需要使用虛擬主機。
從文檔中:
虛擬主機提供資源的邏輯分組和分離。物理資源的分離不是虛擬主機的目標,應被視為實現(xiàn)細節(jié)。
在您的 RMQ 實例中創(chuàng)建兩個虛擬主機,名為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生產。當然,這些值不應該是硬編碼的,而是來自配置。
我相信虛擬主機完全可以滿足您的需求。
如果你確實需要完全獨立地運行測試環(huán)境,你可以在 Docker 容器中運行它。當您需要一個干凈的環(huán)境時,此選項將使您能夠殺死整個事情并從頭開始。您可以輕松地重新映射默認端口,以避免與生產實例發(fā)生沖突:
docker run -d --name test-rmq -p 5673:5672 -p 8080:15672 rabbitmq:3-management
如果您運行上面的命令,則可以通過 AMQP on 訪問新實例localhost:5673,并且管理插件將打開http://localhost:8080
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報