目前我正在做一個項目的集成工作。在這個項目中,我們需要用java框架Wink公開一個restful api。由於我們還有其他幾個要集成的組件,因此我們在api層和其他服務部分之間放置了一個消息隊列(activemq)。但是這次api層將以異步方式與較低級別進行通信。在我的理解中,restful api應該以同步的方式運行。例如,在api層,如果一個線程收到一個請求,響應將返回到同一個線程中。所以這兩種溝通方式之間存在內在的不匹配。我的問題是,我們如何整合這兩部分來使api層工作而不犧牲消息隊列中的功能,如可靠性和性能? 任何建議將在這裏apprciated。 感謝集成api服務與消息隊列
0
A
回答
0
異步回調是REST通信成爲可能,看這件球衣框架,例如: https://jersey.java.net/documentation/latest/async.html
但是,是延時應控制您的客戶將等待服務器響應,而將是一件好事,如果客戶端以AJAX的方式調用它。
最簡單的方法是通過「執行程序服務」來分發新進程,該程序將通道中的消息發送到較低級別的api,並偵聽另一個通道(MQ通信)中的響應。並且在流程完成時返回一個響應,然後更高的API將推回到客戶端。
相關問題
- 1. 消息隊列Windows服務
- 2. 消息隊列服務不可用
- 3. Azure服務結構和消息隊列
- 4. NodeJS和隊列消息服務
- 5. Java消息服務隊列會話
- 6. Azure服務結構消息隊列
- 7. 集成的消息隊列綁定不起作用消息類
- 8. 沒有本地消息隊列服務器的遠程消息隊列
- 9. WebSphere MQ與WebLogic集成 - 向外部隊列發送消息
- 10. 集成IncrediBuild與Visual Studio團隊服務
- 11. Jenkins與團隊服務的集成
- 12. 消息隊列與消息傳遞
- 13. 互操作性Azure服務總線消息隊列消息
- 14. 消息隊列和服務總線的消息粒度
- 15. MSMQ:消息隊列服務不可用。錯誤消息
- 16. 消息隊列服務消息未到達
- 17. 消息隊列服務重新啓動後服務沒有收到消息
- 18. Spring集成 - IBM MQ - 從隊列中消耗大量消息
- 19. artemis休息集成 - 無法使用隊列中的消息
- 20. 同步公共API如何與基於消息的服務集成?
- 21. 集成nodejs休息服務與wso2
- 22. api服務器 - 隊列服務vs本地迷你隊列
- 23. 羣集上的異步消息隊列
- 24. 在羣集隊列中放置消息
- 25. 爲Java本地消息隊列api /庫
- 26. 即時消息API - 隊列時間
- 27. 從Web API發佈到消息隊列
- 28. Google App Engine通道API消息隊列
- 29. 排隊服務器的XML消息
- 30. 允許查詢消息列表的隊列服務