【问题标题】:Integrate api service with message queue将api服务与消息队列集成
【发布时间】:2013-12-09 03:52:51
【问题描述】:

目前我正在做一个项目的集成工作。在这个项目中,我们需要使用 java 框架 Wink 暴露一个 restful api。由于我们还有其他几个组件要集成,所以我们在 api 层和其他服务部分之间放置了一个消息队列(activemq)。但是这次 api 层会以异步方式与下层通信。在我的理解中,restful api 应该以同步的方式运行。例如,在 api 层中,如果一个线程收到请求,则响应将在同一线程中返回。因此,这两种沟通方式之间存在内部不匹配。我的问题是我们如何整合这两个部分来使 api 层工作而不牺牲消息队列中的特性,如可靠性和性能? 任何建议都会在这里得到重视。 谢谢

【问题讨论】:

    标签: java api rest activemq message-queue


    【解决方案1】:

    在 REST 通信中可以使用异步回调,请参阅此 JERSEY 框架示例: https://jersey.java.net/documentation/latest/async.html

    但是应该控制延迟,因为您的客户端将等待服务器响应,如果客户端以 AJAX 方式调用它会很好。

    最简单的方法是通过“执行器服务”派生一个新进程,该进程在一个通道中将消息发送到较低级别的 api,并在另一个通道中侦听响应(MQ 通信)。并且在流程完成时返回一个响应,然后更高的 API 将推送回客户端。

    【讨论】:

      猜你喜欢
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 2014-02-23
      • 1970-01-01
      • 2011-05-23
      • 2013-06-06
      相关资源
      最近更新 更多