2012-01-16 25 views
0

我在考慮問題標題:如果我必須在分佈式架構中查詢聚合,其中分佈式事件存儲最終可以等待最後一個事件分發。我怎麼能知道我通過閱讀模型閱讀的聚合是否不被網絡中另一個服務器中的更新代替?在分佈式架構中創建快照

我有一個http服務器接收事件要保存在商店。實際上存儲不存在,但我希望儘快實施。 事件認爲以json格式序列化的巨大聚合需要4MB

另一個子問題是您推薦什麼存儲快照?

編輯

如果問題不是寫得好,或者如果我選擇了錯誤的標籤,我不明白...

回答

0

知道什麼時候「最後」事件分佈式的能力商店處理取決於兩件事情:

  1. 你可以定義「最後」?
  2. 分佈式存儲引擎是否向您公開?

The CAP theorem對於您在分佈式數據存儲中遇到的問題有很好的參考價值;一般來說,除非你放棄可用性,否則你將無法獲得所需的屬性來獲得你想要的。另一方面,如果你可以用有意義的方式定義上一個,你仍然可以擁有你想要的東西。例如:你的活動在一段時間後過期嗎?如果,例如,他們12小時後到期,你知道,你可以隨時有意義最後定義爲「時間爲12小時前的那一刻」,因爲較舊的任何未處理事件已經過時了......

要回答你的子問題,我強烈建議您不要自己編寫存儲引擎,因爲分佈式數據存儲是一個非常困難的問題,許多非常聰明的人,爲在這個領域無所事事,但解決問題的公司工作,爲您做的事情。

改爲利用他們的工作。

+0

現在我已經解決了使用「本地」快照,我回復事件存儲中分發的事件。每次我需要獲取快照時,首先檢查分佈式存儲中是否有一些事件比上一次重播到我的「個人」「本地」快照中的事件更新。 – 2012-01-30 10:20:08