Azure 流體轉送概觀

流體架構是開放原始碼的平台獨立架構。 Azure 流體轉送是「流體架構」的受控供應項目,可協助開發人員建立即時的共同作業體驗,並在連線的 JavaScript 用戶端上即時複寫狀態。

什麼是流體架構?

「流體架構」是用於發佈和同步處理共用狀態的用戶端程式庫集合。 這些程式庫可讓多個用戶端使用類似用於處理本機資料的程式碼模式,同時建立及操作共用資料結構。

如需其他文件,請前往 FluidFramework.com

為什麼使用「流體」?

因為建置低延遲的共同作業體驗很困難!

「流體架構」提供:

  • 以用戶端為中心的應用程式模型,其資料持續性不需要任何自訂伺服器程式碼。
  • 分散式資料結構,使用熟悉的程式設計模式。
  • 非常低延遲。

Microsoft 的開發人員已在許多應用程式中建置共同作業,但需要應用程式專用的伺服器端邏輯來管理共同作業體驗。 「流體架構」是 Microsoft 投資減少建立共同作業應用程式複雜度的結果。

如果您完全不需要投資伺服器程式碼,該怎麼做? 假設您可以使用以輕量型且低成本為設計目的的一般用途伺服器。 假設您的所有開發都著重於用戶端體驗,且已為您處理資料同步。 這就是「流體」的承諾。

以用戶端開發人員為重點

使用「流體架構」建置的應用程式在伺服器上完全不需要自訂程式碼,就可以啟用複雜的資料同步處理案例,例如跨文字編輯器進行即時輸入。 用戶端開發人員可以專注於客戶體驗,同時讓「流體」執行保持資料同步的工作。

「流體架構」可與您選擇的應用程式架構搭配使用。 無論您偏好直接使用 JavaScript 或使用 React、Angular 或 Vue 等架構,「流體架構」都可讓您以簡單的彈性方式建置共同作業體驗。

「流體」的運作方式

「流體」的設計訴求是透過超快的效能提供共同作業體驗。 為了達成此目標,小組會盡可能讓伺服器邏輯保持簡單、輕量。 這種方法有助於確保用戶端上幾乎即時的同步處理,且伺服器成本低廉。

為了讓伺服器保持簡單,每個「流體」用戶端都要負責自己的狀態。 雖然先前的系統在伺服器上保留事實來源,但 「流體」服務會負責接受資料作業、排序作業,以及將循序作業傳回給用戶端。 不論作業的接收順序為何,每個用戶端都可以使用該順序,獨立且準確地產生目前狀態。

下列步驟是一般流程。

  1. 用戶端程式碼會在本機變更資料。
  2. 「流體」執行階段會將該變更傳送至「流體」服務。
  3. 「流體」服務會排序該作業,然後廣播到所有用戶端。
  4. 「流體」執行階段會將該作業併入本機資料,並引發 "valueChanged" 事件。
  5. 用戶端程式碼會處理該事件 (更新檢視、執行商務邏輯)。