新年10个Flag实现中~
访问量
1.7M
文章数
147
运行天
1091
一、M12简介Moquette0.12(以下简称M12)的订阅树实现在moquette-0.12/broker/src/main/java/io/moquette/broker/subscriptions,包括:订阅树版本 M10 M12  订阅树增删改查SubscriptionDirectory CTrieSubscriptionDirectory 订阅树 - CTrie 片段 Token Token 主题 Topic Topic 订阅信息 Subscription Subscription 普通节点 
一、M10简介Moquette0.10(以下简称M10)的订阅树实现在moquette-0.10/broker/src/main/java/io/moquette/spi/impl/subscriptions,包括:SubscriptionsDirectory:订阅树的增删改查Token:片段,由topicFilter按“/”分割而成的最小字符串单位Topic:主题/主题过滤器,包含一系列方法,比如比较主题和主题过滤器是否匹配Subscription:订阅信息,{clientId,topicFilter,qos,active}TreeNode:树节点查看源码的时候应该从SubscriptionsDirectory开始阅读。二、M10订阅树表示假设有如下订阅信息: 节点编号 
一、MQTTBroker的需求1、基本需求1)支持mqtt3.1/mqtt3.1.1协议(可选mqtt5.0)3.1和3.1.1是最常见的协议版本,几乎目前生产的IoT设备都支持,所以Broker也必须支持。至于5.0版本,目前各大Broker都在努力支持,不过还需要一些时间才会普及。2)支持QoS0、QoS1(可选QoS2)各大厂商都至少支持了QoS1,保证消息到达。一般的场景下不会用到QoS2,所以可以选择性地考虑支持QoS23)支持遗嘱消息这是必须支持的功能,通常设备断开都不是主动断开的,而是没有电了才断开,属于异常断开,需要设置遗嘱消息来通知后端服务或者其他设备进行后续处理。4)支持持久化一些数据如QoS1消息、持久Session,需要支持持久化,这是MQTT协议规定的。5)支持多种
1