私信  •  关注

Luke Bakken

Luke Bakken 最近创建的主题
Luke Bakken 最近回复了
5 年前
回复了 Luke Bakken 创建的主题 » SSL上的RabbitMQ

当你请求软件方面的帮助时,说明你正在使用的软件版本是非常重要的。对于rabbitmq,还需要提供所使用的erlang版本和操作系统。

在您的例子中,您已经在 /etc/rabbitmq/rabbitmq-env.conf ,以及rabbitmq配置,这是不正确的。必须从中删除以下行 rabbitmq-env.conf 把它放进 /etc/rabbitmq/rabbitmq.conf 文件:

listeners.ssl.default = 5671

ssl_options.cacertfile = /home/myuser/rootca.crt
ssl_options.certfile   = /home/myuser/mydomain.com.crt
ssl_options.keyfile    = /home/myuser/mydomain.com.key
ssl_options.verify     = verify_peer
ssl_options.password   = 1234
ssl_options.fail_if_no_peer_cert = false

也请看 the documentation


音符: RabbitMQ团队监控 rabbitmq-users mailing list 有时只在stackoverflow上回答问题。

5 年前
回复了 Luke Bakken 创建的主题 » rabbitmq中的磁盘节点与ram节点

不要担心ram节点。只使用磁盘节点-它们将数据存储在磁盘和RAM中。


注: RabbitMQ团队监控 rabbitmq-users mailing list 有时只在stackoverflow上回答问题。

5 年前
回复了 Luke Bakken 创建的主题 » rabbitmq使用具有一定延迟的消息

您应该熟悉amqp和rabbitmq的工作原理,特别是通过执行 tutorials .

Tutorial two 介绍了 prefetch (也称为 QoS )这将限制发送给消费者的未确认消息的数量。


注: rabbitmq团队监控 the rabbitmq-users mailing list 有时只在stackoverflow上回答问题。

5 年前
回复了 Luke Bakken 创建的主题 » 使用python从Windows应用商店访问特定证书

看起来,在读了一些 this search 大多数处理Windows证书存储的python库都这样做来获取 CA certs and CRL lists 也不是每个人都能证明这一点。

这个 wincertstore 图书馆 可以 做你想要的。


注: rabbitmq团队监控 rabbitmq-users mailing list 有时只回答stackoverflow上的问题。

5 年前
回复了 Luke Bakken 创建的主题 » rabbitmq群集不匹配主机名问题

首先,rabbitmq 3.6.9是旧的,您应该使用最新版本。

尽管如此,这不是问题所在。产量 echo $HOSTNAME 这是:

ostack-controller-01.foo.example.com

所以,什么时候 rabbitmqctl status 运行,它使用 this code 确定要连接到的节点名。自从 HOSTNAME 变量已设置,用于确定节点名称,以及 rabbitmqctl 尝试使用 rabbit@ostack-controller-01 失败了。

您可以继续使用 -n rabbit@ostack-controller-01-rabbit-mq-container-1bf6ede2 论证 兔骨髓瘤细胞系 为了解决这个问题。或者,您可以创建 /etc/rabbitmq/rabbitmq-env.conf 包含此内容的文件:

NODENAME=rabbit@ostack-controller-01-rabbit-mq-container-1bf6ede2

然后, rabbitmqctl状态 兔骨髓瘤细胞系 命令应该有效。然后,您将在每个节点上重复此过程,在中使用该节点的正确名称。 /等/rabbitmq/rabbitmq-env.conf


注: rabbitmq团队监控 the rabbitmq-users mailing list 有时只回答stackoverflow上的问题。

5 年前
回复了 Luke Bakken 创建的主题 » 使用HTTP API发布到rabbitmq队列

注意:您的问题已经回答 here : link

rabbitmq只支持发布到交换。这是一个 核心功能 产品的。然后,rabbitmq使用绑定来确定应该接收消息的队列。

你可以阅读这些概念 here .

在管理控制台中使用“发布消息”时,它使用默认绑定和默认交换。从 this document :


默认交换

在本教程的前几部分中,我们对交换一无所知,但仍然能够向队列发送消息。这是可能的,因为我们使用的是默认交换,我们通过空字符串(“”)来标识它。

回想一下我们之前是如何发布消息的:

channel.basic_publish(exchange='',
                      routing_key='hello',
                      body=message)

exchange参数是交换的名称。空字符串表示默认的或无名称的交换:如果消息存在,则使用路由\键指定的名称将其路由到队列。


所以,为了 出现 要直接发布到队列,管理接口将消息发布到默认交换(名为 amq.default 或空字符串 "" )使用队列名称作为路由密钥。您可以通过在浏览器中启用开发人员工具并观看对 /api/exchanges/vhost/name/publish 将消息发布到队列时。

在您的情况下,请求将看起来像这样(使用chrome,右键单击 publish 请求和“复制为curl”):

curl -4vvv -u guest:guest \
    'localhost:15672/api/exchanges/%2F/amq.default/publish' \
    -H 'Content-Type: text/plain;charset=UTF-8' \
    --data-binary '{"vhost":"/","name":"amq.default","properties":{"delivery_mode":1,"headers":{}},"routing_key":"MY-QUEUE-NAME","delivery_mode":"1","payload":"TEST","headers":{},"props":{},"payload_encoding":"string"}'

注: rabbitmq团队监控 the rabbitmq-users mailing list 有时只回答stackoverflow上的问题。

5 年前
回复了 Luke Bakken 创建的主题 » rabbitmq访问vhost被拒绝
access to vhost 'None' refused for user 'openstack'

有人试图访问一个名为 None 不存在。默认vhost命名为 / . 自从 没有 是python中的关键字,我怀疑某个地方存在应用程序错误或配置错误。

不可能禁用访问控制,所以我建议创建一个已知的用户和密码来使用。

5 年前
回复了 Luke Bakken 创建的主题 » 如何使用来自rabbitmq的一批消息?

但仍然只有一条信息,而不是一包五条。我做错什么了?

您不了解rabbitmq和qos/prefetch是如何工作的( docs 或者它如何与 range Go客户端的操作员。

QoS并不意味着“批量发送消息”,它对一个通道上未确认的消息数设置了限制。如果你要移除 d.Ack 调用代码并运行 for 无限循环,它将只运行5次迭代,然后停止,因为rabbitmq将在那时停止向您的使用者传递消息。

我没有查看代码,但我假设您使用的Go客户机是以这样的方式编写的:一旦接收到消息并对其进行解码,它就会被发送到 msgs 通道。当您在循环中确认消息时,它向rabbitmq指示可以再向该通道发送一条消息。

我建议重新编写代码以跟踪通过 味精 频道,做你的工作,然后用 multiple acknowledgement 同时将它们全部打包。


注: rabbitmq团队监控 rabbitmq-users mailing list 有时只回答stackoverflow上的问题。

5 年前
回复了 Luke Bakken 创建的主题 » rabbitmq队列声明和自定义属性等效

rabbitmq仅验证已知的x-*声明参数集-

https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.11/src/rabbit_amqqueue.erl#L578-L588

以及其他几个队列属性-

https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.11/src/rabbit_amqqueue.erl#L533-L534


注: rabbitmq团队监控 rabbitmq-users mailing list 有时只回答stackoverflow上的问题。