.net 中的数据同步设计

Rob*_*abe 5 c# synchronisation data-synchronization xamarin asp.net-core

我有一个现有的基于云的解决方案,它带有一个 web api,可以将数据从后端 SQL 数据库传输到客户端应用程序。都非常标准。我的 web api 是使用 .NET Core 构建的。这运行良好,我将现有的 web api 与已构建的各种 web 客户端一起使用。架构如下所示:

当前解决方案 当前的解决方案需要扩展以支持使用 web api 的本地移动客户端应用程序(这里没有什么特别之处 - 通常他们会像任何其他客户端一样调用 web api)但是我必须满足这些新的要求客户端应用程序可用于离线场景。这意味着我不能期望设备上存在数据连接以便每次需要时调用我的 web api。我需要查看同步数据,以便它可以离线并在需要时发送回服务器。

想一想,数据将通过以下两种方式之一进行同步:

  • 单向同步 - 从服务器到客户端的数据,但不会对此数据进行更改,例如系统查找表。
  • 双向同步 - 现有数据将同步到客户端,修改并发送回服务器或在客户端上创建新数据并向上发送,例如新订单。

新架构如下:

在此处输入图片说明

所以 - 开始我的问题 - 有没有人知道在同步数据(单向和双向)或可能有内置同步代码的 NuGet 包方面遵循的良好设计模式?如果可能的话,我试图避免在同步方面重新发明轮子。

注意:仅供参考,本机移动应用程序将在 Visual Studio 2015 中使用 Xamarin 构建。

小智 0

我还没有使用它(刚刚开始研究,因为我有与你类似的情况),但看起来 Xamarin 已经有这方面的设施(如果你无论如何都使用 Azure...): Azure 中的离线数据同步移动应用程序