笔者完整设计过mqtt构架的云服务。可以提供一些经验。
mqtt更适合。
websocket其实是对浏览器设计的协议。
浏览器链接mqtt server就是通过websocket。
两个都是保持tcpip链接。但是mqtt支持的功能更多。比如QoS 0,1,2。Shared Subscription.
介意查看下mqtt支持的各种功能。
全世界最好的库就是国产的emqx。
其他mqtt库或者服务也可以考虑。不过相对都差很多。
还有emqx比别的库更适合kubernetes。
emqx各种module也比较齐全,比如AuthenticationModule,peformance monitor.