web-services - 如何与亚马逊 (sqs/sns) 或 azure 等云服务同步移动应用程序

标签 web-services azure amazon-web-services cloud mobile-application

我想实现几个移动应用程序(Windows Phone/iOS/Android)的想法。其中大多数需要在其他设备组上获取用户数据更新。

例如, 1 不需要立即更新发送到群的场景: 假设家庭成员可以在应用程序中跟踪他们的支出。新添加的费用将自动同步到其他家庭成员设备(或在他们选择同步时手动同步)。

需要立即将更新发送到组的第二种情况: 让我们考虑一下所有的纸牌游戏 或者在二十一点的游戏场景中,我们需要通知牌 table 上的所有玩家庄家为他们每个人开了哪张牌。

问题:我已经开始寻找 Amazon SQS(队列)、SNS(通知)服务。但初步阅读并没有让我得出任何结论。我还将阅读 Azure。

哪些服务可以帮助我实现上述场景?

SQS 问题:SQS 将如何运作?如果我从队列中读取一项,我猜测它将从队列中删除。因此,如果一台设备添加了新费用,系列中的其他设备则不会,因为项目已从队列中删除。或者可能是 - 我是否只为每个设备创建一个队列? (也许我最后的额外代码逻辑可以帮助我)。

请向我提供有关这些服务的任何见解。

谢谢

最佳答案

这个问题很难回答,也有点具体。答案是著名的建筑名言“视情况而定”。我可以帮助您解决 Azure 部分,并且我确信它也可以以某种方式翻译到 Amazon。

让我们看看您的场景。

  • 场景 1 不需要您所说的立即更新。因为也可能有 N 个客户端,所以在我看来,处理这个问题的最佳方法是表存储。您将费用存储在表存储中,并将某些金额等存储在单独的行中。要访问这些数据,有两种可能的方案,(1)创建 WCF 服务来处理身份验证和授权以及数据检索,方法是公开 GetFamilyExpenses(familyId);(2) 使用 Azure 上的 AppFabric(虽然有点贵)进行身份验证并直接访问表存储。更新在您的应用程序内部处理...
  • 场景 2 也有点具体。因为它是一款游戏,所以更新比其他任何东西都需要更加即时。我对这里正确实现的看法是直接与服务(托管在任一服务上)建立 TCP channel 并通过某些自定义协议(protocol)进行通信。队列不会帮助你,因为(至少在 Azure 上)你仍然需要轮询它们。
  • 场景 3 您没有提及,但这是队列发挥作用的地方。假设您有 5 家零售店、一位带笔记本电脑的经理和一个仓库。当零售商店的库存达到指定数量时,需要从仓库发货新商品。因此,当进行购买时,队列项目会发送到两个主题:一个审核主题和一个仓库主题。审核主题由经理的应用程序读取,它允许经理查看发生的一切

这是我看到的 Azure 选项的基本概述。如果对您有帮助,请不要忘记投票/标记为答案。

关于web-services - 如何与亚马逊 (sqs/sns) 或 azure 等云服务同步移动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6727226/

相关文章:

java - 如何保护 Web 服务位置的安全?

java - 防止 Java XML Web 服务中的枚举

c# - 您会为新项目推荐什么 OAuth 库?

c# - 重命名azure blob存储中的容器/文件夹

azure - 如何使用 PowerShell 或 Azure CLI 检索 Azure 存储表中的所有记录

amazon-web-services - 在使用AWS ECS和ECR时,应如何将源代码安装到Docker容器?

python - Cherry Py - 在 Python 中以 XML 形式返回输出

amazon-web-services - 没有健康检查的aws负载均衡器?还是让它与非 200 响应一起工作?

python - 给定路径可能存在或不存在的文件列表,如何在 Python 中创建目录?

ios - Azure 通知中心注册设备列表