【问题标题】:"Near Real Time" Request with JMS and Loose Coupling Architecture使用 JMS 和松散耦合架构的“近乎实时”请求
【发布时间】:2012-02-27 20:31:00
【问题描述】:

我想使用 JMS 和 ActiveMQ(或任何好的 JMS 代理)在我的系统中启用松散耦合。

在某些情况下,系统的一个组件需要访问另一个组件上的服务,并且响应需要是“实时的”(例如,用于响应来自 Web 应用程序的请求)。

执行请求的一种方法是使用 JMS 队列。您可以放置​​多个消费者,其中一个将选择消息并执行任务。然后将响应发送回请求组件。很好,它在某种程度上是松散耦合和负载平衡的。

我的问题是关于性能的。是否有关于此架构实现的性能水平的一些数据?是否可以实现“Near Real Time”,即JMS隐含的成本应该在5ms以下?

谢谢!

【问题讨论】:

    标签: performance architecture jms soa activemq


    【解决方案1】:

    这取决于很多因素,这真的很难说。我在我的机器上试过,(如果你需要会告诉你它的细节),提出一个简单的请求,做一些处理并返回。我现在不到 5 毫秒。但是这个数字一般没有说明什么,因为 ActiveMQ 在我的机器上,连接也非常快,因为它都在 localhost 上等等。

    您想要做的是尽可能多地模拟您未来的架构并在那里尝试。这里没有人会肯定地说“是”或“否”,好吧,因为这是不可能的。

    如果你想要“实时”,那你为什么要首先引入异步组件?

    干杯,尤金。

    【讨论】:

    • 我的意思不是“实时”,而是可能必须在 Web 服务上提供的 SLA。我想知道是否可以在几毫秒内做出响应。然后我只是想知道在这种情况下它是否可以成为一个可行的解决方案。关于异步方面,它不是强制性的,我只是在寻找松散耦合。 IE。我可以在依赖模块上公开 REST 服务,但在这种情况下,依赖性会变得更高(IMO 太高)。
    • 如果我必须选择,我会更喜欢 ActiveMQ 而不是 Web 服务。只是我和它一起玩,用它工作,然后把它投入生产。有一些方法可以对其进行扩展、集群、更新等,这些是 Web 服务无法实现的。我希望你选择适合你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 2011-02-22
    • 2017-04-11
    相关资源
    最近更新 更多