的成長考慮從LMAX建築description from Martin Fowler以下情形:LMAX架構 - 數據
我將使用一個簡單的非LMAX的例子來說明。想象一下,你是 通過信用卡訂購果凍豆。 < ...>
在LMAX架構,你會這樣操作一分爲二。 第一次操作將捕獲訂單信息,並通過 完成向信用卡公司輸出一個事件(請求信用卡驗證)給信用卡公司 。然後,業務邏輯處理器將爲其他客戶進行 處理事件,直到其輸入事件流中收到 信用卡驗證事件。在處理 該事件時,它將執行該訂單的確認任務。
因此,訂單被保存在內存中,直到收到付款處理的結果。
現在讓我們假設代替信用卡處理步驟,我們需要花費更多時間,例如:我們需要執行庫存檢查,其中有人必須物理驗證我們是否具有特定的果凍豆味道,已經下令。這可能需要一個小時。
如果是這樣的話,會不會導致內存舉行,因爲潛在的大量訂單將等待庫存狀態更新的事件數據的增長?
可能在這種情況下,我們需要刪除從存儲器的順序,幷包括它作爲輸出事件,外部系統(庫存)負責產生另一個輸入事件,其包括順序細節的一部分。
我用這種方法看到的問題是,我們無法將庫存作爲業務邏輯處理器的一部分。
關於我們如何解決這個問題的想法?