Microsoft Sync Framework 系列(三):微软同步框架出现背景及要解决的问题
持續(xù)連接的C\S,B\S系統(tǒng)存在固有的缺陷,偶爾連接系統(tǒng)(OCA)在試圖解決這些問(wèn)題的同時(shí)又引入了新的問(wèn)題。開(kāi)發(fā)offline系統(tǒng)存在很多挑戰(zhàn),這些挑戰(zhàn)都是 Microsoft Sync Framework? 要面對(duì)的,并且應(yīng)該為應(yīng)用開(kāi)發(fā)者提供合理的解決方案。
MSF is a comprehensive synchronization platform that enables developers to add synchronization capabilities to applications, services and devices. MSF solves the fundamental problem of how to synchronize any type of data in any store using any protocol over any topology. Fundamental to MSF is the ability to support offline and collaboration of data between any types of endpoints (e.g. device to desktop, device to server, etc.).
持續(xù)連接系統(tǒng)的不足:
- 要求實(shí)時(shí)聯(lián)網(wǎng),這種要求有時(shí)是沒(méi)有必要的;
- 數(shù)據(jù)訪問(wèn)速度受網(wǎng)絡(luò)和服務(wù)器壓力的影響;
- 單點(diǎn)依賴(Single Point of Failure),如果應(yīng)用服務(wù)器或者數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題,則所有客戶端都將無(wú)法操作;
- 服務(wù)器擴(kuò)展性,基本上只能通過(guò)增加硬件投入來(lái)解決高負(fù)載下的性能問(wèn)題;
偶爾連接應(yīng)用 OCA(Occasionally Connected Application )的優(yōu)勢(shì):
- 本地?cái)?shù)據(jù)緩存,提供離線(offline)支持;
- 合理利用客戶機(jī)的處理能力,提升系統(tǒng)響應(yīng)速度;
- 減小服務(wù)器端應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)器的壓力;
構(gòu)建偶爾連接系統(tǒng)(Occasionally Connected System)的挑戰(zhàn):
跟蹤對(duì)數(shù)據(jù)的更改(change tracking),用什么樣的方式記錄下更改的數(shù)據(jù); 維護(hù)更改的數(shù)據(jù)(Maintaining Change Data),改變跟蹤數(shù)據(jù)會(huì)迅速增長(zhǎng); 沖突檢測(cè)與解決(Conflict Detection and Resolution),如何檢測(cè)沖突,如何定義沖突解決策略; 數(shù)據(jù)交換優(yōu)先級(jí)(Prioritizing Data Exchange),優(yōu)先交換那些重要的具有決定性意義的數(shù)據(jù)以改善系統(tǒng)性能; 后臺(tái)同步(Background Synchronization),最好采用異步方式同步,而不會(huì)因?yàn)閿?shù)據(jù)同步過(guò)多的影響用戶的操作; 多種同步拓?fù)?#xff08;Multiple Synchronization Topologies),可以是中心發(fā)射型,可以是端對(duì)端的P2P,也可以是簡(jiǎn)單的C\S。 自定義的客戶端和服務(wù)器數(shù)據(jù)庫(kù)(Custom Client and Server Databases),即允許使用微軟提供的Provider進(jìn)行同步,也可以通過(guò)自定義Provider來(lái)同步web services, file systems 和 custom data stores。 安全(Security),數(shù)據(jù)庫(kù)加密(Database encryption),數(shù)據(jù)庫(kù)認(rèn)證(Database authentication),數(shù)據(jù)加密同步(Encryption of data synchronization),內(nèi)部認(rèn)證(Internal authentication)。這些都是令人頭疼的“數(shù)據(jù)同步”問(wèn)題。“數(shù)據(jù)同步”問(wèn)題是必須解決的問(wèn)題,也是必須開(kāi)發(fā)的功能。然而,數(shù)據(jù)同步并不是用戶需求。微軟曾推出兩種數(shù)據(jù)方案:遠(yuǎn)程數(shù)據(jù)訪問(wèn)(RDA), 合并復(fù)制(Merge replication),這兩種方案主要用于以數(shù)據(jù)庫(kù)作為數(shù)據(jù)源的數(shù)據(jù)同步,并且不是特別靈活,不能解決很多遺留系統(tǒng)問(wèn)題。
在缺少統(tǒng)一的開(kāi)發(fā)框架的情況下出現(xiàn)了如下問(wèn)題:
- 重復(fù)發(fā)明輪子,人們創(chuàng)建了無(wú)數(shù)的專用的數(shù)據(jù)同步解決方案(single-purpose solutions);
- 核心的復(fù)雜的問(wèn)題在所有專用解決方案中重復(fù)出現(xiàn),并且不容易解決(falling into the same pitfalls explored by others);
- 這些專用解決方案往往是為了解決具體問(wèn)題而不具有通用性(relied too heavily on specific topologies, data types, stores or business logic);
為此,微軟推出了 Microsoft Sync Framework (MSF),MSF 作為新一代的統(tǒng)一同步框架,試圖來(lái)解決或者簡(jiǎn)化以上問(wèn)題。
?
MSF 同步框架想要達(dá)到的目標(biāo):
- 強(qiáng)大:解決同步系統(tǒng)中的核心問(wèn)題和困難問(wèn)題;
- 靈活:數(shù)據(jù)無(wú)關(guān),協(xié)議無(wú)關(guān),設(shè)備無(wú)關(guān),并且可以在原有系統(tǒng)中使用;
- 簡(jiǎn)單:通過(guò)簡(jiǎn)單的組合使用在任何架構(gòu)的同步系統(tǒng)中;
后面文章中我們會(huì)根據(jù)具體的場(chǎng)景、概念、設(shè)計(jì)原理對(duì)上面提到的進(jìn)行詳細(xì)介紹。
參考:
Introduction to the Microsoft Sync Framework Runtime
Introduction to Occasionally Connected Applications using Sync
Introducing Microsoft Sync Framework- Sync Services for File Systems
FLYabroad 標(biāo)簽: Microsoft Sync Framework, 微軟同步框, Sync Service, 同步服務(wù), OCA, Occasionally Connected System轉(zhuǎn)載于:https://www.cnblogs.com/flyabroad/archive/2008/05/17/1201407.html
總結(jié)
以上是生活随笔為你收集整理的Microsoft Sync Framework 系列(三):微软同步框架出现背景及要解决的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: css教程–十步学会用css建站(全)
- 下一篇: 软件推荐---站长查询工具