Web services 如何与amazon(sqs/sns)或azure等云服务进行移动应用程序同步

Web services 如何与amazon(sqs/sns)或azure等云服务进行移动应用程序同步,web-services,azure,amazon-web-services,cloud,mobile-application,Web Services,Azure,Amazon Web Services,Cloud,Mobile Application,我想实现几个移动应用程序(windows phone/iOS/android)的想法。大多数都需要在其他设备组上获取用户数据更新 比如说,, 1个不需要立即向组发送更新的场景: 比如说,家庭成员可以在应用程序中跟踪他们的支出。新增加的费用将自动同步到其他家庭成员设备(或在他们选择同步时手动同步) 需要立即向集团发送更新的第二种情况: 让我们考虑所有的纸牌游戏 或者在21点游戏场景中,我们需要通知桌子上的所有玩家庄家为他们每人打开了哪张牌 问题:我已经开始寻找Amazon SQS(队列)、SNS(

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

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

需要立即向集团发送更新的第二种情况: 让我们考虑所有的纸牌游戏 或者在21点游戏场景中,我们需要通知桌子上的所有玩家庄家为他们每人打开了哪张牌

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

什么服务可以帮助我实现上述场景

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

请提供我对这些服务的任何见解


谢谢

很难回答的问题,也有点具体。答案是著名的建筑格言“视情况而定”。我可以帮你解决Azure部分的问题,我相信它也可以以某种方式翻译成亚马逊

让我们看看您的场景

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

这是我看到您在Azure上的基本选项概述。如果答案对你有帮助的话,请别忘了投赞成票/打分。

我完全相信你所说的。但考虑一下,我怎样才能最大限度地降低成本,同时还能在应用程序之间进行同步。创建自己的WCF服务会增加成本,因此我正在考虑使用sqs/sns类服务可以做些什么。理论上,您可以在移动应用程序中使用所有逻辑,并使用前面提到的表存储进行通信(场景1)。对于场景2,您无论如何都需要一些东西,因为我认为没有第三方中介,您无法进行通信。