RabbitMQ Server使用或需要在防火墙上为节点集群打开哪些端口?
我/usr/lib/rabbitmq/bin/rabbitmq-env的设定在下面,我假设是需要的(35197).
SERVER_ERL_ARGS="+K true +A30 +P 1048576 \   
-kernel inet_default_connect_options [{nodelay,true}] \  
-kernel inet_dist_listen_min 35197 \   
-kernel inet_dist_listen_max 35197"
我没有触及rabbitmq.config设置自定义tcp_listener所以它应该在默认的5672上监听.
以下是相关的netstat行:
tcp        0      0 0.0.0.0:4369           0.0.0.0:*           LISTEN      728/epmd 
tcp        0      0 0.0.0.0:35197          0.0.0.0:*           LISTEN      5126/beam
tcp6       0      0 :::5672                :::*                LISTEN      5126/beam
我的问题是:
为了能够连接到集群的其他节点,是否需要打开所有3个端口4369,5672和35197?
为什么5672不能在tcp上运行而不仅仅是tcp6?
我试图了解JMS以及它与AMQP术语的关联方式.我知道JMS是一个API,而AMQP是一个协议.
这是我的假设(以及问题)
上面的一些可能是愚蠢的.:-)但是试图绕过它.
是否可以直接从命令行查看RabbitMQ消息内容?
sudo rabbitmqctl list_queues 列出队列. 
有没有命令命令sudo rabbitmqctl list_queue_messages queue_name?
我有一些与RabbitMQ一起运行的队列.其中一些现在没用,我怎么能删除它们?不幸的是我没有设置auto_delete选项.
如果我现在设置它,它会被删除吗?
有没有办法现在删除这些队列?
使用rabbitmq,我们可以安装管理插件.然后我们http://localhost:55672/使用guest:guest 访问浏览器.问题是,我不能再登录,因为我更改了密码并为角色输入了空白.
有没有办法重置用户的rabbitmq管理?
我正在低于例外
org.springframework.amqp.AmqpAuthenticationException:com.rabbitmq.client.AuthenticationFailureException:ACCESS_REFUSED - 使用身份验证机制PLAIN拒绝登录.有关详细信息,请参阅代理日志文件
配置:Windows上的RabbitMQ 3.3.5
在Config文件中,%APPDATA%\RabbitMQ\rabbit.config
我根据https://www.rabbitmq.com/access-control.html进行了以下更改
[{rabbit, [{loopback_users, []}]}].
我也试过创建一个user/pwd - 测试/测试似乎没有让它工作.
试过这篇文章中的步骤.
其他配置详细信息如下:
Tomcat托管了Spring Application Context:
<!-- Rabbit MQ configuration Start -->
    <!-- Connection Factory -->
    <rabbit:connection-factory id="rabbitConnFactory" virtual-host="/" username="guest" password="guest" port="5672"/>
    <!-- Spring AMQP Template -->
    <rabbit:template id="rabbitTemplate" connection-factory="rabbitConnFactory" routing-key="ecl.down.queue" queue="ecl.down.queue" />
    <!-- Spring AMQP Admin -->
    <rabbit:admin id="admin" connection-factory="rabbitConnFactory"/>
    <rabbit:queue id="ecl.down.queue" name="ecl.down.queue" />
    <rabbit:direct-exchange name="ecl.down.exchange">
        <rabbit:bindings>
            <rabbit:binding key="ecl.down.key" queue="ecl.down.queue"/>
        </rabbit:bindings>
    </rabbit:direct-exchange>
在我的控制器类中
@Autowired
RmqMessageSender rmqMessageSender;
//Inside a method
rmqMessageSender.submitToECLDown(orderInSession.getOrderNo());
在我的邮件发件人: …
我们正在定义一个架构,用于收集Logstash托运人的日志信息,这些托架安装在各种机器中,并将数据集中在一个弹性搜索服务器中,并使用Kibana作为图形层.我们需要在Logstash发货人和elasticsearch之间建立一个可靠的消息传递系统来授权交付.在Logstash发货人和弹性搜索之间选择Redis over RabbitMQ作为数据代理/消息传递系统时应该考虑哪些因素,反之亦然?
我需要一个高性能的消息总线为我的应用程序,所以我正在评估ZeroMQ,RabbitMQ和Apache Qpid.为了衡量性能,我正在运行一个测试程序,该程序使用其中一个消息队列实现发布说10,000条消息,并在同一台机器上运行另一个进程来使用这10,000条消息.然后我记录发布的第一条消息和收到的最后一条消息之间的时差.
以下是我用于比较的设置.
RabbitMQ:我使用了"扇出"类型交换和具有默认配置的队列.我使用了RabbitMQ C客户端库.ZeroMQ:我的发布者tcp://localhost:port1使用ZMQ_PUSH套接字发布,My broker侦听tcp://localhost:port1并将消息重新发送到tcp:// localhost:port2,我的消费者tcp://localhost:port2使用ZMQ_PULL套接字侦听.我正在使用代理而不是对等通信ZeroMQ来使性能比较公平到使用代理的其他消息队列实现.QpidC++消息代理:我使用了"扇出"类型交换和具有默认配置的队列.我使用了Qpid C++客户端库.以下是效果结果:
RabbitMQ:接收10,000条消息大约需要1秒钟.ZeroMQ:接收10,000条消息大约需要15毫秒.Qpid:接收10,000条消息大约需要4秒钟.问题:
RabbitMQ或Qpid使其性能更好?注意:
测试是在具有两个分配处理器的虚拟机上完成的.结果可能因硬件而异,但我主要对MQ产品的相对性能感兴趣.
而不是写自己的图书馆.
我们正在开发一个项目,这个项目将是一个自我划分的服务器池,如果一个部分变得太重,管理员会将其划分并将其作为一个单独的进程放在另一台机器上.它还会警告所有连接的客户端,这会影响连接到新服务器.
我很好奇使用ZeroMQ进行服务器间和进程间通信.我的伴侣宁愿自己动手.我期待社区回答这个问题.
我自己是一个相当新手的程序员,只是学习了消息队列.正如我用Google搜索和阅读,似乎每个人都在使用消息队列来处理各种各样的事情,但为什么呢?是什么让他们比编写自己的图书馆更好?为什么它们如此常见,为什么会有这么多?