Azure移动SDK与自定义代码-可伸缩性

时间:2018-08-29 14:42:43

标签: azure azure-sql-database azure-mobile-services

我们编写了两个移动应用程序和一个Web后端。移动应用程序是用Xamarin编写的,后端是用Azure的C#编写的。

这三个应用程序之间都有共享数据,有些是简单的关键字表,但有些数据表会更改,例如移动用户正在四处移动并对表进行一些更新,更新需要先返回到Web应用,然后再返回到应用。

当前在移动应用程序上使用SQLite,并遵循离线优先方法,即用户更改我们在移动设备上写入SQLite的表,然后同步到服务器。如果用户没有连接,则后台进程将在可能的情况下最终将数据同步到服务器。

所有这些现在都是自定义代码,我有点犹豫要继续这条路。我们正在测试约4个用户,但是期望在6到18个月内增长到成千上万的用户。

认为我们的方法可能无法扩展。宁愿切换到“离线优先”框架,也不愿继续推出自己的框架。

鉴于我们的环境,我认为使用Azure Mobile SDK是遵循的明显途径。

总的来说,如果您的应用程序会增长,您会选择第一个离线框架吗?特别是,使用Azure Mobile SDK有什么经验?

2 个答案:

答案 0 :(得分:1)

请注意,您的问题可能会因为您正在征求意见/建议而被关闭,但是无论如何...

从Azure移动应用Github存储库中

  

请注意,产品团队目前未投资任何   适用于Azure移动应用的新功能。

据我所知,Microsoft尚未宣布任何新的SDK或升级路径。

请牢记这一点,一种选择是保留您的自定义代码,并将其与从SDK提取的代码绑定在一起,反之亦然。

答案 1 :(得分:0)

假设您的移动应用程序调用了Web服务,然后执行了所有必要的写操作,则可以对生产环境的副本进行负载测试,以查看问题是否解决以及在什么时候发生。我不是过早优化的忠实拥护者。

假设事情确实失败了,您可以使用Service Bus Queue在Web服务端点和数据库之间引入一个缓冲器。