MassTransit是否支持通过HTTP传输的MSMQ? [英] Does MassTransit support MSMQ over HTTP transport?
问题描述
从MSMQ 3.0开始,HTTP传输已经可用,但是,恐怕MassTransit不提供使用HTTP协议作为队列之间的传输协议的功能.
HTTP transfer has been available since MSMQ 3.0, however I'm afraid MassTransit doesn't offer the feature to use HTTP protocol as transport protocol between queues.
关于此问题,此处,但尚未完全回答.
There's a very similar question about this here, which has not been completely answered.
有人知道客户端是否有可能订阅总线并通过HTTP发送/接收消息吗?这是我愿意实现的架构:
Does anyone know if it's possible for a client to subscribe to a bus and send/receive messages through HTTP? Here's the architecture I'm willing to implement:
我将在本地网络中拥有两台计算机
I'll have 2 computers in the local network
- 计算机A 运行服务器应用程序和MassTransit.RuntimeServices
- 计算机B 运行一个客户端应用程序,该应用程序将消息发送到A
- Computer A runs a server application and MassTransit.RuntimeServices
- Computer B runs a client application which sends messages to A
我希望通过http完成它们之间的通信.
I want the communication between them to be done via http.
我试图将 UseSubscriptionService
中的地址更改为 http
而不是 msmq
,但是它不起作用.如果将计算机的A MSMQ服务设置为强化模式",则在尝试预订 mt_subscriptions
时,在计算机B 上运行的客户端应用程序会超时./p>
I tried to change the address in UseSubscriptionService
to http
instead of msmq
, but it doesn't work. If I set computer's A MSMQ service to Hardened Mode, the client application running on computer B get's a timeout while trying to subscribe to mt_subscriptions
.
Bus.Initialize(sbc =>
{
sbc.UseMsmq();
sbc.VerifyMsmqConfiguration();
sbc.UseMulticastSubscriptionClient();
sbc.ReceiveFrom("msmq://localhost/test_queue_client");
sbc.UseSubscriptionService("msmq://m3-dev1/mt_subscriptions"); // maybe I could use http instead of msmq, but it doesn't work
});
有任何线索吗?
推荐答案
否,MassTransit不支持MSMQ的HTTP.从理论上讲,您可以添加自己的传输来支持该传输.RabbitMQ在各个方面都比MSMQ更好,这是一种传输方式,除非您需要注册分布式事务.RabbitMQ只需要在盒子之间打开一个端口即可.
No, MassTransit does not support HTTP for MSMQ. You could, in theory, add your own transport that supports that. RabbitMQ is a way better transport than MSMQ in every way except if you need to enroll in distributed transactions. And RabbitMQ only requires a single port open between the boxes.
这篇关于MassTransit是否支持通过HTTP传输的MSMQ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!