MQTT---HiveMQ源码详解(十五)Persistence-Cluster/Single

来源:互联网 发布:芈月传 大秦帝国 知乎 编辑:程序博客网 时间:2024/04/27 12:03

源博客地址:http://blog.csdn.net/pipinet123


MQTT交流群:221405150


功能

  • Cluster/Single Persistence主要是处理如下这些数据信息:

    • client session
    • client session subscriptions
    • outgoing message flow
    • queued message
    • retained message
    • topic tree
  • Cluster/Single分别是在用户配置不同的场景为用户加载不同的实现


类图

这里写图片描述


  • Cluster主要是协调Single与Cluster的数据存储与读取,使用VectorClock(后续章节再详解,不了解的可以先google下)解决集群数据备份、同步,通过异步ClusterRequest(后续章节会详细讲解)整合本地数据,组成提供服务所需的全部数据

  • Single主要是协调本地数据的读取与存储,此处就不需要考虑集群同步了,相对较简单,习惯web开发的朋友可以把这个当成domain service,把cluster当成application service即可。

  • Cluster和Single的实现类都同时实现Cluster/Single对应接口,根据用户配置的信息使用Provider来进行提供对应的实现类。

0 0
原创粉丝点击