當有多個服務需要相互協調時,主要可通過兩種方法實施複雜工作流:使用集中化編排程式(orchestrator),或使用去中心化互動。
集中化的編排程式會通過乙個程序對多個服務進行協調以完成大規模工作流。服務對工作流本身及所涉及的具體細節完全不知情。編排程式會處理複雜的安排和協調,例如強制規定不同服務的執行順序,或對某個服務請求失敗後重試。為確保編排程式了解執行進展,此時通訊通常是同步的。使用編排程式最大的挑戰在於要在乙個集中位置建立業務邏輯。
去中心化的互動中,更大規模工作流內的每個服務將完全自行負責自己的角色。服務之間通常會相互偵聽,盡快完成自己的工作,如果出錯則盡快重試,並在執行完畢後送出相關事件。此時通訊通常是非同步的,業務邏輯依然保留在相關服務中。這種方式的挑戰之處在於需要追蹤工作流整體的執行進度。 去中心化互動可更好地滿足我們的要求:弱耦合,高內聚,每個服務自行負責自己的界限上下文。所有這些特徵最終都可提高團隊的自治能力。通過服務監控所有相互協調的其他服務所發出的事件,這種方法也可用被動方式對工作流整體的狀態進行追蹤。
中心化和去中心化
中心化和去中心化 分布式的架構中,同乙個服務會部署若干服務節點,在面對具體服務請求時,怎麼決定由哪個節點來提供服務,根據實現方案分為中心化和去中心化兩種方式。中心化 在開源中介軟體codis的集群組網中,應用對快取節點的訪問都通過codis的proxy 由 來決定資料儲存到哪個節點上 這種分布式的組...
豆瓣的去中心化
都想著方法去黏住使用者,所以現在的網際網路熙熙攘攘,喧鬧嘈雜。我們總是去嘗試著那些最新的應用,我們痴迷於最尖端的技術,我們熱衷於最流行的八卦 儘管它們中的很多其實是專門為我們設計的 這樣的體驗你感覺好嗎?至少我的感覺很不好。我展望乙個更為清淨的網際網路,正如文中的前半段所說,我們應該也有 不被人隨時...
務實的去中心化
建立非盈利性的公司 在法律文書中,將資產作為解開功能特性的應用代幣 將你的資產放到mercury這樣的去中心化交易所裡。這是乙個務實的開始,可能也是有效去中心化所必須做的全部事情。這樣你就可以把去中心化交易在法律上的雷區全都交給交易者自己去處理了。交易是去中心化的,所以無法關掉,不過訂單匹配伺服器可...