【问题标题】:What's the benefit of using dedicated STOMP broker over the simple in-memory broker in Spring-Websocket?与 Spring-Websocket 中的简单内存代理相比,使用专用 STOMP 代理有什么好处?
【发布时间】:2020-01-18 23:05:03
【问题描述】:

我是 Spring-Websocket 的新手,在文档和几乎所有教程中都说可以使用简单的内存代理,或者使用专用的 STOMP 代理,如 RabbitMQ 或 ActiveMQ。

我的主要目标是通过在我的项目中添加一个专门的 STOMP 代理来避免不必要的工作,即使我不需要它。

那么,我的问题是使用专门的 STOMP 经纪人有什么好处?我什么时候需要专门的 STOMP 经纪人?

我不想知道this 帖子中专门的 STOMP 经纪人的优缺点,我也不想知道我是否需要像 this 帖子中那样的 STOMP 经纪人。

【问题讨论】:

    标签: spring spring-websocket stomp


    【解决方案1】:

    有很多东西可以让您在 STOMP 代理和简单的内存代理之间进行选择。

    1. 可扩展性 - STOMP 代理允许多个生产者和消费者因此允许扩展,而内存中的 Web Socket 代理仅限于它们正在运行的实例。
    2. 容错 - STOMP 代理是持久的,并且可以允许重试,因为内存中的 Web Socket 代理处于“内存中”。在失败期间,消息将永远消失。
    3. 监控 - STOMP 代理很容易监控,而内存中的 Web Socket 代理则没有那么多。

    因此,您需要确定您正在构建的应用程序的范围,以便在 STOMP 代理和内存中 Web Socket 代理之间做出决定。

    【讨论】:

    • 你能解释一下第二个选项吗?例如,当客户端发送消息时,服务器在接收消息之前就死了。如果服务器运行并再次从代理获取连接,它是否需要之前从代理发送的消息?你是那个意思吗?能给个用例吗?
    猜你喜欢
    • 1970-01-01
    • 2017-08-06
    • 2019-08-26
    • 1970-01-01
    • 2019-04-14
    • 2020-10-27
    • 2020-01-01
    • 2013-11-17
    • 2019-11-02
    相关资源
    最近更新 更多