问题标签 [mqtt-vernemq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
597 浏览

mqtt - Mqtt vernemq 创建流式传输

我们使用 MQTT 协议通过 VerneMQ 服务器发布和订阅消息

任何人都可以在 VerneMQ 中提供帮助吗?我们可以像 Kafka 一样进行队列流式处理,如果订阅者离线,然后它又回到在线,那么它将能够获取他在离线时错过的所有旧的错过消息

如果 VerneMQ 不支持流式消息,那么除了 Kafka 之外我们还有哪些选择,哪些是好的

用户案例

这假设我有 3(A、B 和 C)客户由于某种原因订阅了相同的主题,我的 A 客户是办公室,同时发布者发布 100 条消息,而 A 是办公室,但 B 和 C 能够接收消息,所以如果 A 会重新上线后,他能否获得发布者在离线时发布的那 100 条消息

0 投票
1 回答
577 浏览

mqtt - 持久会话在 MQTT 中如何工作?

我将 MQTT 与 QOS 1 一起使用。

我有一个消费者和一个生产者。它们相互通信(HiveMQ作为客户端)。他们使用VerneMQ作为代理。我使用持久性会话。

如果消费者离线,后来又上线,他应该成为他离线的所有消息。但这只有在消费者在另一台计算机上并且我不停止微服务但我关闭 WiFi 然后再打开时才有效。但是,如果我关闭了一个微服务,然后重新启动它,它就不适用于离线消息。

如果我再次启动微服务,我认为这就是它再次订阅该主题的原因。是这个原因吗?或不?

更新:我刚刚在消费者第二次开始时没有订阅就对其进​​行了测试。那也行不通。所以订阅并不是消费者收不到消息的原因。

0 投票
1 回答
148 浏览

mqtt - 如何在 mqtt 代理的发布者客户端中通知订阅失败

我有一个 vernemq MQTT 代理。

我试图通过 QOS 1 将消息从 client-1 发布到代理,并从代理获得 PUBACK 消息。但订阅者客户端 2 未收到此消息。

如何在 client-1 中通知此失败

0 投票
2 回答
1466 浏览

rabbitmq - RabbitMQ、Vernemq 和 HiveMQ - 分发和 HA

我正在尝试为我正在做的一个项目挑选一个。

从文档中完全不清楚 HA 是如何在所有这些中工作的,除了 RabbitMQ,它指出传入的请求将始终找到到达最初创建相关队列的节点的方式。含义如果我想发布到由 Node1 创建但最终在 Node2 发出请求的 QueueA,我将在内部路由到 Node2。另一方面,我正在寻找一个真正的分布式解决方案,在该解决方案中,我能够处理任何节点,而无需在内部重新路由我的请求,并从中得到答案。

0 投票
2 回答
1918 浏览

docker - 使用 Mosquitto 客户端测试 VerneMQ 代理 TLS

背景

  • 我设置并配置了 VerneMQ 代理。Broker 在 docker 容器中,我使用docker-compose.yml启动它。这是我的 docker-compose 文件的外观:
  • 我使用openssl客户端测试/验证了 TLS 连接: openssl s_client -connect 172.18.0.4:8081 -key privkey.pem -cert cert.pem 我从服务器 localhost 执行此操作,172.18.0.4 是 vernemq docker 容器的 IP 地址,8081 是预期的 SSL 默认端口(侦听器),并且提供了密钥/证书,这是结果(我想这意味着 TLS 监听器工作): 文本

问题

如何使用 mosquitto 客户端或任何其他 mqtt 客户端对此进行测试?我想在发布和订阅时使用基于 TLS 的连接。

当我不使用 TLS 时,这就是我执行mosquitto_sub(订阅客户端)的方式: mosquitto_sub -h <ip_address> -p 1883 -t topic -d -u user -P password -i client-id

这是响应: VerneMQ 订阅

当我尝试使用 TLS 时,我添加了 --key 和 --cert 选项以使用私钥和证书: mosquitto_sub -h <ip_address> -p 1883 -t topic -d -u user -P password -i client-id --key privkey.pem --cert cert.pem

我只是 Client user sending CONNECT 反复得到。我究竟做错了什么?

0 投票
0 回答
96 浏览

mqtt - MQTT:Broker 在将上一次发布的 publish_complete 消息发送给客户端之前发送新消息

目前我有一个在我们自己的 mqtt 堆栈上运行的客户端。我们目前能够一次处理一条消息,然后准备好接受或处理另一条消息。我们使用的代理是 mosquitto。我目前面临两种情况。

  1. 在客户端成功发布和接收消息数百次后。在向我发送上一个发布的发布完成之前,代理向我发布了一条新消息。
  2. Broker 在单个 tcp 数据包中向我发送了许多 mqtt 消息,这对我的系统来说是一个过载处理。

谁能帮我在代理中设置一些配置,以便代理可以发送一条消息并等到它发送 pubcomp 再发送另一条消息?

注意:我已经尝试将 max_inflight_messages 设置为 1 并将 max_queue_limit 设置为 1

0 投票
1 回答
198 浏览

mqtt - MQTT 删除订阅者尚未订阅或接收的已发布消息

有什么方法可以删除已发布但未在订阅者处订阅或接收的消息?

0 投票
2 回答
645 浏览

python - 无法将 paho mqtt 连接到在 oracle virtualbox 上运行的 vernemq

我正在尝试将 paho mqtt 客户端连接到运行 ubuntu 的 virtualbox 上的 vernemq 消息代理。我无法向代理发布消息并随后通过订阅同一主题来阅读该消息。当我尝试运行程序时,我没有收到任何错误或“与结果代码 rc 连接”的确认。我在本地 ubuntu 机器上尝试过同样的事情,它可以工作。下面是我的 vernemq.conf 文件和 client.py 文件,用于发布和订阅。

客户端.py

有人可以指出我在这里做错了什么。我的最终目标是将这个 vernemq 代理与 AWS IoT 连接起来。谢谢!

0 投票
0 回答
472 浏览

frontend - 在客户端/浏览器端配置中公开的 MQTT 代理用户名/密码

我目前使用 VerneMQ 作为我们的 MQTT 发布/订阅消息代理。在我们的前端,我们使用 paho-mqtt npm 连接到代理并订阅主题。数据由我们的后端服务通过主题推送。UI 的目的只是通过主题消费数据。

但是,在我们的客户端配置中,如果有人真的试图寻找它,我们会以一种可以在网络控制台中看到它的方式公开我们的代理凭据。有什么方法可以将其提取出来或使用更安全的身份验证过程?如果我不提供用户名/密码,则无法建立成功的 Web 套接字连接。

0 投票
4 回答
343 浏览

timescaledb - 将 verneMQ 数据写入 TimescaleDB

有没有办法将所有收到的消息存储到 VerneMQ 中的 TimescaleDB 中?

有没有我可以使用的现有插件或服务?