标签: rabbitmq

RabbitMQ使用哪些端口?

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"
Run Code Online (Sandbox Code Playgroud)

我没有触及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
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 为了能够连接到集群的其他节点,是否需要打开所有3个端口4369,5672和35197?

  2. 为什么5672不能在tcp上运行而不仅仅是tcp6?

port rabbitmq

122
推荐指数
4
解决办法
12万
查看次数

JMS和AMQP - RabbitMQ

我试图了解JMS以及它与AMQP术语的关联方式.我知道JMS是一个API,而AMQP是一个协议.

这是我的假设(以及问题)

  • RabbitMQ使用AMQP协议(而不是实现AMQP协议)
  • Java客户端需要使用AMQP协议客户端库来连接/使用RabbitMQ
  • JMS API在哪里发挥作用?JMS API应该使用AMQP客户端库连接到RabbitMQ吗?
  • 通常我们使用JMS来连接像RabbitMQ,ActiveMQ等消息代理.那么这里使用的默认协议是什么而不是AMQP?

上面的一些可能是愚蠢的.:-)但是试图绕过它.

java jms message-queue amqp rabbitmq

118
推荐指数
3
解决办法
5万
查看次数

RabbitMQ消息的大小和类型

  1. RabbitMQ队列中可以存储哪些消息?只有字符串?或者我可以选择我想要存储的类型:int,binary,string等?
  2. 一条消息的最大大小是多少?
  3. 可以创建多少个队列或交换?或者它取决于服务器的功率?

queue message-queue amqp rabbitmq

92
推荐指数
3
解决办法
6万
查看次数

是否可以直接从命令行查看RabbitMQ消息内容?

是否可以直接从命令行查看RabbitMQ消息内容?

sudo rabbitmqctl list_queues 列出队列.

有没有命令命令sudo rabbitmqctl list_queue_messages queue_name

rabbitmq rabbitmqctl rabbitmqadmin

91
推荐指数
6
解决办法
12万
查看次数

删除RabbitMQ中的队列

我有一些与RabbitMQ一起运行的队列.其中一些现在没用,我怎么能删除它们?不幸的是我没有设置auto_delete选项.

如果我现在设置它,它会被删除吗?

有没有办法现在删除这些队列?

queue rabbitmq

85
推荐指数
14
解决办法
9万
查看次数

如何重置用户进行rabbitmq管理

使用rabbitmq,我们可以安装管理插件.然后我们http://localhost:55672/使用guest:guest 访问浏览器.问题是,我不能再登录,因为我更改了密码并为角色输入了空白.

有没有办法重置用户的rabbitmq管理?

rabbitmq

77
推荐指数
4
解决办法
8万
查看次数

Spring AMQP + RabbitMQ 3.3.5 ACCESS_REFUSED - 使用认证机制PLAIN拒绝登录

我正在低于例外

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, []}]}].
Run Code Online (Sandbox Code Playgroud)

我也试过创建一个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>
Run Code Online (Sandbox Code Playgroud)

在我的控制器类中

@Autowired
RmqMessageSender rmqMessageSender;

//Inside a method
rmqMessageSender.submitToECLDown(orderInSession.getOrderNo());
Run Code Online (Sandbox Code Playgroud)

在我的邮件发件人: …

spring-integration rabbitmq spring-amqp

77
推荐指数
6
解决办法
11万
查看次数

Redis与RabbitMQ一起作为Logstash和elasticsearch之间的数据代理/消息系统

我们正在定义一个架构,用于收集Logstash托运人的日志信息,这些托架安装在各种机器中,并将数据集中在一个弹性搜索服务器中,并使用Kibana作为图形层.我们需要在Logstash发货人和elasticsearch之间建立一个可靠的消息传递系统来授权交付.在Logstash发货人和弹性搜索之间选择Redis over RabbitMQ作为数据代理/消息传递系统时应该考虑哪些因素,反之亦然?

rabbitmq redis elasticsearch logstash

77
推荐指数
4
解决办法
8万
查看次数

ZeroMQ,RabbitMQ和Apache Qpid之间的性能比较

我需要一个高性能的消息总线为我的应用程序,所以我正在评估ZeroMQ,RabbitMQApache Qpid.为了衡量性能,我正在运行一个测试程序,该程序使用其中一个消息队列实现发布说10,000条消息,并在同一台机器上运行另一个进程来使用这10,000条消息.然后我记录发布的第一条消息和收到的最后一条消息之间的时差.

以下是我用于比较的设置.

  1. RabbitMQ:我使用了"扇出"类型交换和具有默认配置的队列.我使用了RabbitMQ C客户端库.
  2. ZeroMQ:我的发布者tcp://localhost:port1使用ZMQ_PUSH套接字发布,My broker侦听tcp://localhost:port1并将消息重新发送到tcp:// localhost:port2,我的消费者tcp://localhost:port2使用ZMQ_PULL套接字侦听.我正在使用代理而不是对等通信ZeroMQ来使性能比较公平到使用代理的其他消息队列实现.
  3. QpidC++消息代理:我使用了"扇出"类型交换和具有默认配置的队列.我使用了Qpid C++客户端库.

以下是效果结果:

  1. RabbitMQ:接收10,000条消息大约需要1秒钟.
  2. ZeroMQ:接收10,000条消息大约需要15毫秒.
  3. Qpid:接收10,000条消息大约需要4秒钟.

问题:

  1. 有人在消息队列之间运行类似的性能比较吗?然后我想将你的结果与你的结果进行比较.
  2. 有什么方法可以调整RabbitMQQpid使其性能更好?

注意:

测试是在具有两个分配处理器的虚拟机上完成的.结果可能因硬件而异,但我主要对MQ产品的相对性能感兴趣.

message-queue rabbitmq zeromq qpid

76
推荐指数
4
解决办法
8万
查看次数

为什么要使用AMQP/ZeroMQ/RabbitMQ

而不是写自己的图书馆.

我们正在开发一个项目,这个项目将是一个自我划分的服务器池,如果一个部分变得太重,管理员会将其划分并将其作为一个单独的进程放在另一台机器上.它还会警告所有连接的客户端,这会影响连接到新服务器.

我很好奇使用ZeroMQ进行服务器间和进程间通信.我的伴侣宁愿自己动手.我期待社区回答这个问题.

我自己是一个相当新手的程序员,只是学习了消息队列.正如我用Google搜索和阅读,似乎每个人都在使用消息队列来处理各种各样的事情,但为什么呢?是什么让他们比编写自己的图书馆更好?为什么它们如此常见,为什么会有这么多?

messaging amqp rabbitmq zeromq

73
推荐指数
4
解决办法
2万
查看次数