2016-12-29 74 views
0

我有一個獲取http請求的服務,並將請求數據傳遞給另一個服務。這個另一個服務將消息發佈到隊列中,當隊列消費者拉取隊列時,我想返回ack,並將其發送回所請求的服務器,以便將其發送到另一個處理步驟(而不是隊列)。我是否需要另一個隊列來跟蹤處理的消息並在請求服務器中使用它?RabbitMQ返回確認請求者

通緝: Server1-> queue1-> server1的(隊列1結果) - >隊列2 ...

謝謝:)

回答

0

不一定,但我認爲這將需要另一個明確的溝通渠道。

工作的性質是什麼?吞吐量是多少?什麼是性能配置文件?它會穩定嗎?突發性的?

我能想象:基於

隊列確認

- (HTTP)>服務1 - >另一項服務 - (消息隊列)>消費

消費者 - (消息隊列)>服務1

這應該允許異步處理,服務1也將是消費者並且將等待ACK消息

基於HTTP的確認

而不是讓消費者通過將消息放在消息隊列中來確認,它可以直接ping service1。


我DEF比較喜歡的選項之一,因爲它擁有全部異步消息傳遞架構的好處:

  • 消費和服務1分離
  • 異步處理
+0

嗨:)我需要它是這樣的:(http) - > server1-> server2-> queue1-> server2-> queue2-> server2-> queue3等。 – user3712353