- http://docs.oasis-open.org/mqtt/mqtt/
- https://mcxiaoke.gitbooks.io/mqtt-cn/content/
- https://www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt (共10 part, 中文版https://www.jianshu.com/p/967cc509dd27?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation)
- https://www.hivemq.com/blog/mqtt-security-fundamentals/
- http://emqtt.com/docs/v2/mqtt.html
- http://mqttfx.org/ (Java MQTT Client)
- https://www.hivemq.com/blog/seven-best-mqtt-client-tools
https://www.enterpriseintegrationpatterns.com/patterns/conversation/index.html (TODO)
https://www.enterpriseintegrationpatterns.com/patterns/conversation/FireAndForget.html
QoS 1 和 QoS 2 的队列
所有以1和2级别发送给掉线设备的消息将会存储起来,直到设备再次可用。但是队列只在客户端使用持久会话(Clean Session)时才会产生。(AWS IOT不支持Clean Session)
Redis三种命令模式
Sync vs Async vs Fire-and-Forget
最后,这里有三种命令模式分别对应StackExchange.Redis
的三类不同的使用场景。
Sync,同步模式会直接阻塞调用者,但是显然不会阻塞其他线程。
Async,异步模式直接走的是Task模型。
Fire-and-Forget,就是发送命令,然后完全不关心最终什么时候完成命令操作。