STOMP over websockets vs plain STOMP。哪一个更好?

时间:2016-07-01 08:42:03

标签: spring websocket rabbitmq stomp spring-websocket

从4月开始,我们在STOMP上支持WebSocket(子)协议。与HTTP和使用&相比,我确实理解WebSocket的好处。使用STOMP优于WebSocket的好处,但我想了解以下内容:

  1. 直接使用stomp协议与MB交谈是否有任何性能优势(如RabbitMQ或Kafka - 可能在将来)

  2. 除了处理客户端连接到服务器/ MB所需的握手之外,使用STOMP作为子协议而不是网络套接字有什么好处

    < / LI>

1 个答案:

答案 0 :(得分:7)

这些是正交问题。 Websocket是一种传输;实际上,在使用sock.js时,您可以使用许多传输作为后备并仍然使用STOMP。

STOMP描述了客户端和服务器之间交换的消息格式。

这就像要求比较TCP和HTTP。

  1. 您不能“只使用”STOMP与服务器或消息代理进行通信。您必须使用传输来发送这些STOMP消息。
  2. STOMP没有处理websocket握手,事实上,它根本没有意识到它。举个例子,您可以在HTTP上透明地使用STOMP,并且看不出与STOMP视角的区别。