MQTT---HiveMQ源码详解(十五)Persistence-Cluster/Single
2017-03-13 23:26
639 查看
源博客地址:http://blog.csdn.net/pipinet123
client session
client session subscriptions
outgoing message flow
queued message
retained message
topic tree
Cluster/Single分别是在用户配置不同的场景为用户加载不同的实现
![](http://img.blog.csdn.net/20170314201647750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaW5ldDEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
Cluster主要是协调Single与Cluster的数据存储与读取,使用VectorClock(后续章节再详解,不了解的可以先google下)解决集群数据备份、同步,通过异步ClusterRequest(后续章节会详细讲解)整合本地数据,组成提供服务所需的全部数据
Single主要是协调本地数据的读取与存储,此处就不需要考虑集群同步了,相对较简单,习惯web开发的朋友可以把这个当成domain service,把cluster当成application service即可。
Cluster和Single的实现类都同时实现Cluster/Single对应接口,根据用户配置的信息使用Provider来进行提供对应的实现类。
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来进行提供对应的实现类。
相关文章推荐
- MQTT---HiveMQ源码详解(十八)Cluster-kryo与Serializer
- MQTT---HiveMQ源码详解(十四)Persistence-LocalPersistence
- MQTT---HiveMQ源码详解(十九)Cluster-Request/Response
- MQTT---HiveMQ源码详解(十七)Cluster-Consistent Hashing Ring & Node Lifecycle
- MQTT---HiveMQ源码详解(二十)Cluster-Replicate/VectorClock
- MQTT---HiveMQ源码详解(十一)Netty-Throttling
- MQTT---HiveMQ源码详解(十二)Netty-MQTT消息、事件处理(流程)
- MQTT---HiveMQ源码详解(五)Netty-启动与Listeners加载
- MQTT---HiveMQ源码详解(四)插件加载
- MQTT---HiveMQ源码详解(十三)Netty-MQTT消息、事件处理(源码举例解读)
- MQTT---HiveMQ源码详解(八)Netty-WebSocket
- MQTT---HiveMQ源码详解(六)Netty-Handlers总览
- MQTT---HiveMQ源码详解(十)Netty-Statistics
- MQTT---HiveMQ源码详解(十六)TopicTree
- MQTT---HiveMQ源码详解(二)结构与启动
- MQTT---HiveMQ源码详解(七)Netty-SSL/NoSSL
- MQTT---HiveMQ源码详解(一)概览
- MQTT---HiveMQ源码详解(二十一)完结篇
- MQTT---HiveMQ源码详解(三)配置加载
- MQTT---HiveMQ源码详解(外传)为什么使用Xodus