我需要幫助找出最佳解決方案以下設計問題。與駱駝異步消息處理
我有一個由我們的用戶使用的單個前端服務器。他們提交應該異步運行的任務,並在完成後發送電子郵件。該任務可以調用外部API並更新其中的內容。有一些帳戶(不會被用戶帳戶混淆)與API相關聯。用戶將爲特定帳戶運行任務,並且一旦該帳戶在執行api更新時進行操作,則需要等待使用相同帳戶更新API的其他任務。請注意,使用不必等待,他們可能會提交相同(api)帳戶的許多任務。這是負責將任務放入隊列的系統。 隊列將被一羣服務器監聽,一旦帳戶被釋放,下一個任務將被其他服務器接收。因此,我們提交了多個任務,爲多個帳戶更新api。 我正在尋找Apache Camel作爲我的解決方案,前端將在總線上提交任務,其中一臺服務器將檢測到它。但是,如果有多個任務來自同一個帳戶,只有一個可以像上面解釋的那樣執行,我想保留隊列中某個地方的其他任務(我不知道該怎麼做)以及一旦帳戶被釋放,下一條消息應該由集羣中的一臺服務器選取。 關於更好的解決方案的任何建議,甚至不知道駱駝是否是這類問題的最佳解決方案。我是新來的這種異步設計問題。
感謝潮流,我們有大約3000個賬戶。我不確定配置3000個隊列和3000個監聽器的效率如何。想法? – Kaunteya 2015-02-09 21:23:50