2013-03-20 46 views
0

基本上我想創建一個數據緩衝區,客戶端偶爾可以訂閱,從上次獲取所有數據,不斷監聽實時數據,然後在一段時間後取消訂閱,然後重複。一個數據緩衝區來訂閱和取消實時數據使用rabbitmq

我在考慮使用過期的TTL rabbitmq隊列。這個想法是讓客戶偶爾訂閱和不訂閱。當客戶端訂閱隊列時,它應該獲取隊列上的所有可用消息。然後,客戶端會繼續在該頻道上將實時數據推送給他們。

這是一個好辦法嗎?我知道如何發佈/訂閱rabbitmq。我如何做到這一點,所以每次客戶端訂閱時都會推送隊列上的所有數據?

回答

0

這取決於您所談論的數據量。您的方法的缺點是,如果數據速率很高並且TTL設置了很長時間,則隊列可能會填滿大量數據。你還必須保持隊列的活着。而且每個可能的用戶從一開始就必須有一個隊列。

我會建議Recent History Exchange也許修改它,以便它擁有更多的消息。

+0

只有幾MB的數據緩衝每個隊列。沒有多少用戶,也許多達幾個。 – 2013-03-21 07:18:18

+0

你的評論很模糊,我不確定你在問我什麼。你有沒有看過最近的歷史交流? – robthewolf 2013-03-21 07:22:31

+0

是的,它似乎做我所描述的。會放棄它。謝謝 – 2013-03-21 22:12:40

相關問題