天实现的消息中间件系统不是基于MQTT,而是基于nats,当然也是为了教学的方便,我们只会实现最核心的消息订阅发布,而围绕其的权限,cluster之类的我们都先屏蔽.对完整nats感兴趣的可以上nats...协议设计
nats是一个文本格式的通信协议,本来就非常简单,加上我们这次教学的需要,只保留了最核心的订阅发布系统.那就更简单了. 消息总共只有三种(订阅,发布,消息推送)....为了简化实现,就不支持取消订阅功能,如果想取消订阅,只能断开连接了.
订阅主题
所谓订阅,首先是要订阅什么. nats中的主题是类似于域名格式,形如top.stevenbai.blog....其中sid是对订阅的编号,是一个十进制整数. 因为同一个tcp连接是可以有任意多个订阅....因此从设计角度来说nats的消息订阅发布系统是多对多的. 也就是说一个主题下可以有多个发送发,多个接收方.