我正在尋找適用於分佈式實時系統的中間件。這些要求非常簡單 - 帶有持久性存儲的發佈/訂閱鍵值存儲:持久存儲的發佈/訂閱中間件
- 發佈商將「數據項」發佈到分配給這些主題的訂閱者的主題。這些數據項不需要排隊,因爲只有最新版本是相關的(請考慮股票價格)。如果沒有訂戶,數據項應該保留以備後用(見2) - 只有最新版本,不排隊。
- 用戶可以隨時上線,他們需要立即從指定主題接收最新版本的數據項,然後在發生更新時收到更新。
那裏有什麼自然而然地實現了這種模式?迄今爲止我所見過的最好的是Redis,但它需要在每個方面進行兩次單獨的事務,在發佈者上編寫+發佈(以及訂閱+獲取訂閱者),這意味着它不是基本用例,並且不保證它不會錯過更新發生在這兩個電話之間。我知道的一個商業產品是Tibco ActiveSpaces,但理想地尋找開源和.NET或至少基於Windows的東西。
爲什麼不存儲過時值非常重要?如果用戶數量有限,具有扇出行爲的常見隊列模式(每個用戶1個隊列)將可以正常工作。 –