我目前正在尋找使用Microsoft Sync Framework(2.1)來同步客戶端(運行SQL Server Express)與基於雲的中央數據存儲,使用WCF進行所有通信。通過WCF無會話同步框架
中央數據存儲是一個SQL數據庫,連接了可擴展數量的處理節點,每個處理節點都有一個用於處理同步調用的WCF服務實例。
同步時可能會有大量數據從服務器傳輸到客戶端,所以我認爲批處理是避免內存不足問題,更好地處理不可靠連接等所必需的。我的問題是N層我見過的例子似乎需要WCF服務端的PerSession的實例化模式,並且批處理文件存儲在磁盤上的某個位置,這不是一個選項,因爲不能保證後續調用將進入同一個處理節點,所以我的WCF服務都設置爲PerCall實例化。
我解決這個配料問題的最佳方法是什麼?有沒有辦法將批處理存儲在中央數據存儲中(比如我的服務器數據庫),還是有替代批處理的方法來將數據集的大小減小到「更小」的數據傳輸將更加穩健?
我也許應該補充的是,客戶端將彼此太被同步,所以這將是一個合作的情況,所以從我讀過,我應該使用SyncOrchestrator和KnowledgeSyncProvider(或繼承的子女)。如果有任何幫助,[this](http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208)示例似乎展示了我想要的大部分內容,除了PerSession實例。 – 2012-03-06 17:24:10
是SQL Azure上的雲存儲嗎? – JuneT 2012-03-07 05:53:00
不,它不在Azure上運行,但本質上我們的基礎結構與Azure提供的VM角色相同。每個節點都是可以處理調用的機器映像,並且我們可以隨時添加或刪除任意節點,要求所有內容都是無狀態的。 – 2012-03-07 09:40:38