我有一個用Ruby編寫的應用程序,它有多個線程,每個線程向遠程AMQP端點發送請求。這些線程不時會產生新的任務必須運行。RabbitMQ:將消息路由到線程
如果我使用每個線程暫時的,獨特的隊列發送響應他們的要求,那麼就很容易把代碼寫在這個Ruby的服務來處理傳入的消息。一旦關聯的頻道關閉,隊列就會被刪除,以便在他們的目的結束後不會停留。
我能想到的所有備選方案需要監聽線程監聽接收所有傳入的消息/響應與Ruby的服務的一個或多個隊列,然後使用一些消息標識符將這些消息路由到等待的線程。這看起來更加複雜,我無法將RabbitMQ用於所有需要的語義路由。
第一個模型是AMQP通信的可行模型嗎?處理這種情況是否有更好的模式?