我们面临以下涉及保持以下同步的问题:
- 1 台集中式服务器 (IIS / MSSQL 2005)
- ClickOnce 分发的许多桌面 WPF 客户端
- 许多移动客户端 - (Windows CE)
替代文字 http://img502.imageshack.us/img502/8246/deployment.png
有了这些棘手的限制:
- 所有同步关系都是双向的
- 桌面和移动节点需要离线模式
- 移动节点无法与中央服务器同步,但要通过 USB 与桌面节点同步。桌面节点充当移动客户端的服务器,而不是中央服务器。然后,来自移动节点的更新需要通过与桌面同步来传播到中央服务器,然后将该桌面与中央服务器同步。 唷。
讨厌。
要同步桌面和服务器,我们知道我们可以使用合并复制——服务器作为提供者,桌面作为订阅者,一切都很好。但是同步移动和桌面节点呢?似乎没有 SQL server + ISS,Desktop 不能成为发布者,对吧?我们只能将 MSSQL CE 部署到桌面。
即使是这种情况,一个节点是否可以既是订阅者又是发布者?我怀疑 Merge Replication 体系结构不支持这种安排 - 似乎集线器和辐射是唯一受支持的模型。
我们正在尝试确定是否可以消除 RDA 或合并复制作为可能的解决方案 - 如果可以,我们可能会采用 MS Sync 框架。
也许我们可以考虑其他技术?
谢谢大家,
阿什利
更新:我们刚刚开始玩 MS Sync Framework,它很震撼!