从spring 4开始,我们在WebSocket
上支持STOMP
(sub)协议。我确实理解WebSocket
与HTTP和使用&使用STOMP
优于WebSocket
的好处,但我想了解以下内容:
-
直接使用stomp协议与MB(如RabbitMQ或Kafka -可能将来)通信是否有任何性能优势
-
使用
STOMP
作为web套接字上的子协议除了处理客户端连接到服务器所需的握手之外,还有什么好处吗?/MB
这些是正交关系。Websocket是一个传输;事实上,当使用sock.js时,你可以使用许多传输作为回退,而仍然使用STOMP。
STOMP描述了客户端和服务器之间交换的消息格式。
这就像要求比较TCP和HTTP。
- 你不能"仅仅使用"STOMP与服务器或消息代理通信。您必须使用传输来发送这些STOMP消息。
- STOMP不关心websocket握手,事实上,它根本不知道它。例如,您可以透明地在HTTP之上使用STOMP,并且从STOMP的角度看不出有什么不同。