ubuntu 20.04
通过apt安装 emqx5.6.0
安装了2个节点服务,节点A和节点B,也把两个节点join成集群了。
问题:
代码中连接的节点A,并订阅的$share/msg/server来接收消息,
然后用客户端连接的节点B,并向server发送消息,代码中连接了节点A的客户端收不到消息。这个是正常的吗?
如果用客户端连接节点A,并向server发送消息是正常的。
ubuntu 20.04
通过apt安装 emqx5.6.0
安装了2个节点服务,节点A和节点B,也把两个节点join成集群了。
问题:
代码中连接的节点A,并订阅的$share/msg/server来接收消息,
然后用客户端连接的节点B,并向server发送消息,代码中连接了节点A的客户端收不到消息。这个是正常的吗?
如果用客户端连接节点A,并向server发送消息是正常的。
非共享订阅也不行。
还是只能同节点的接收到。
import asyncio
from aiomqtt import Client
async def a():
async with Client(hostname="192.168.5.201", port=1883,
username="qwer", password="123456") as client:
await client.subscribe("test")
async with client.messages() as messages:
async for message in messages:
print(message.payload)
if __name__ == '__main__':
asyncio.run(a())
import asyncio
from aiomqtt import Client
async def a():
async with Client(hostname="192.168.5.202", port=1883,
username="qwer", password="123456") as client:
await client.publish(topic=f"test", payload='qwer')
if __name__ == '__main__':
asyncio.run(main())
如果用5.201给topic="test"发就可以收到,202不行
我把两台上的emqx都卸载,从5.6.0降到5.3.0后,正常了。
我在重装下5.6.0试试
5.6.0重装之后也正常了。
貌似是因为之前一个是docker的emqx,另一个是apt下载的emqx,这样的组合组成集群的时候dashboard开关某些请求的时候会有报错,后来把docker换成了apt的,没报错了,但是不能路由消息, 重装后解决。 感觉像是节点之间同步配置有问题?