node节点leader & 离线消息

问题描述

  1. 请问node节点中是有leader吗?
    看到脑裂那里不是很理解,怎么突然冒出了个leader,leader的作用是?
  2. 关于离线消息
    emqx文档中原文:在客户端有固定的 ClientID,clean_session 为 false,且 QoS 设置满足服务器端的配置要求时,在客户端离线时,服务器可以为客户端保持一定量的离线消息
    满足服务端要求是什么意思,还有服务器保持一定量的离线消息又是什么意思?

1 节点加入一个集群时,认为当前集群内的节点都是leader,会以集群的数据为准来设置自己;
2 设备离线消息的发布时间是按照session的销毁来计的,也就是离线消息的状态要根据设备的session来确定。一定量是指消息数量

  1. 那我可以理解为没有leader?如果没有leader,那怎么会发生脑裂呢?

另外,额外的一个问题:关于多租户,emqx的多租户如果是通过zone来解决,那么如果每次加一个租户都要开多一个端口吗(还是说我理解错了,如果我理解错了,麻烦说下多租户的对应方案)

1 脑裂是指出现了不止一个集群,各自都认为自己的集群是没问题的,并且没有从另一个集群将数据同步过来。
多租户目前推荐使用我们的cloud服务来实现,zone的设计后续将被淡化。

如果是使用zone来实现,是不是一个租户一个端口?

是一个租户一份配置,可以多个端口。zone表示的是一种配置空间

每次增加租户必要要修改配置文件,并且重启是吧?

重复一下,跟租户没关系,zone是配置,EMQ X Broker 目前没有多租户功能,我不明白你是从哪里看到的这个信息,还是不要混淆,只有 EMQ X Cloud 有这个功能。
修改这个配置是要重启的。

zone只是租户的一部分功能,不能按照租户功能来使用

emm 我是搜多租户搜出来的 单集群多租户 就说的不是很明白我就过来问了 所以想实现多租户就得上cloud对吧?

这个帖子比较老旧,新的 5.0 设计开始,淡化zone的概念。