spring - STOMP over websockets 与普通 STOMP。哪一个更好?

标签 spring websocket rabbitmq stomp spring-websocket

从 Spring 4 开始,我们支持 STOMP (子)协议(protocol)超过 WebSocket .我确实了解 WebSocket 的好处与 HTTP 相比,使用 STOMP 的用途和好处超过 WebSocket但我想了解以下内容:

  • 直接使用 stomp 协议(protocol)与 MB 通信是否有任何性能优势(如 RabbitMQ 或 Kafka - 可能在 future )
  • 使用 STOMP 有什么好处吗?作为网络套接字上的子协议(protocol),而不是处理客户端连接到服务器所需的握手/MB
  • 最佳答案

    这些是正交的问题。
    Websocket 是一种传输方式;事实上,当使用 sock.js ,您可以使用许多传输作为后备,并且仍然使用 STOMP。

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

    这就像要求比较 TCP 和 HTTP。

  • 您不能“仅使用”STOMP 与服务器或消息代理进行通信。您必须使用传输来发送这些 STOMP 消息。
  • STOMP 不关心 websocket 握手,事实上,它根本不知道它。举个例子,您可以在 HTTP 之上透明地使用 STOMP,并且从 STOMP 的角度来看没有什么区别。
  • 关于spring - STOMP over websockets 与普通 STOMP。哪一个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38140849/

    相关文章:

    rabbitmq - 具有多个路由键的一次交换或在 RabbitMQ 中高效的多个交换

    html - 通过 Spring 3 JavaMail 创建 MIME 格式的多部分消息 Freemarker 模板

    Spring Boot,Spring MVC webjars 依赖项返回 404

    websocket - 直接 MQTT 与通过 WebSocket 的 MQTT

    javascript - 网站登录系统-使用websocket服务器进行身份验证

    go - 如何在rabbitmq go lang中发布和消费make(map[string]string)

    rabbitmq - 使用 kafka 作为消息代理为桌面/移动/Web 应用程序创建实时推送通知系统

    java - Spring Beans - Spring 找到两个 bean 而不是一个

    java - Spring Boot 说它需要某个 bean

    javascript - 在 java 脚本 websockets 中获取第一个单词