将RabbitMQ使用者配置为Windows服务

时间:2017-11-27 14:02:02

标签: rabbitmq rabbitmq-exchange

我正在寻找使用.Net Client实现RabbitMQ使用者的最佳方法,该客户端应作为Windows服务运行。

我参考了RabbitMQ文档,并找到了使用.Net客户端(https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html)来使用消息的方法。

我目前的情况是,RabbitMQ安装在AWS VM机器中。我必须安装dotnet客户端消费者服务驻留在应该使用消息的内部部署网络中。

哪一种是最好的方法,总是监听队列(AMQP协议)或HTTP API,它应该按需获取消息(https://pulse.mozilla.org/api/)。

请告知。

谢谢, Vinoth

1 个答案:

答案 0 :(得分:2)

我相信答案是"也不是。"您应该将消息队列作为防火墙后面的后端服务,并通过一组精心指定的Web服务公开您的应用程序功能。通过防火墙公开但可以与防火墙后面的服务通信的Web服务将生成将传输到服务器的消息。需要生成或使用消息的任何服务都需要通过Web服务执行此操作,Web服务会在将请求转发到AMQP服务器之前执行安全/安全检查。

如果您需要直接向客户公开AMQP(即这是您应用的目的),那么建议通过STOMP进行。我认为直接通过互联网公开AMQP的有效用例将是一件罕见的事情。这样做的安全隐患将是巨大的。