开箱即用的移动应用同步服务
Posted
技术标签:
【中文标题】开箱即用的移动应用同步服务【英文标题】:Out of the box sync service for mobile app 【发布时间】:2016-10-24 18:24:25 【问题描述】:亚马逊认知 我有一个移动应用程序,它从用户那里收集大量医疗数据,每隔约 30 分钟需要将新数据发送到服务器。
我需要两件事:
1- 在服务器和应用程序之间同步数据。如果用户从另一台移动设备登录,他应该得到他过去的所有数据并全面了解他的历史记录。
2- 与服务器同步的数据也应该存储在我可以查询以进行分析的数据库中。
你认为架构是什么?您为此推荐什么技术?我想将 aws Cognito 与 Redshift 一起使用,但每个用户的大小限制为 20 MB。
我的主要问题是我可以为我的 BI 数据库(如 Redshift)复制任何开箱即用的同步服务吗?
【问题讨论】:
Redshift 适用于“大数据”。我猜你的数据可能没有那么大,所以 Redshift 可能不适合你。 mt 数据会很大,需要存储 teras 的数据,需要对其进行 BI。 【参考方案1】:您应该尝试 AWS Mobile Hub 站点。它将生成一个具有您正在谈论的功能的示例应用程序。然后单击以下载该示例应用程序。
它将在 Objective-c 或 Swift 中生成一个 ios 应用程序,或者一个 android 应用程序(在 java 中?)。
使用 Cognito Sync,每位用户最多可同步 1M,但该应用还可以通过 S3 提供对文件的访问,或通过 DynamoDB 提供对数据库的访问。
【讨论】:
但是如果我的用户数据会增加呢?例如,特定用户将拥有 50 mb 的历史数据。 好吧,我无法谈论所涉及的成本,但 AWS 可以存储 SQL、NoSql 数据库、文件和流。 Cognito Sync 只是一种可能对您有意义的方法。通过使用其他数据库之一,您始终可以保持超过限制。Cognito Sync 中的限制 每个身份的最大数据集数 20 每个数据集的最大记录数 1024 单个数据集的最大大小 1 MB 例如,如果我的用户拥有 50 MB 的数据,但 AWS Cognito 限制为 20 MB,我该怎么办?并且这个用户转移到了我需要下载所有 50 MB 的其他设备。 出于您的目的,我认为 Cognito 是一个用于维护设备上经过身份验证的用户身份的系统。 Cognito 还具有可以“同步”到设备的用户状态数据。但这只是一个“不错的额外”。 Cognito 还有一个 credentialsProvider,它向经过身份验证的用户颁发凭证,并允许您使用您选择的所有各种 AWS 功能。这些能力没有任何有意义的限制。因此,您可以对用户进行身份验证、同步或不同步某些数据,然后将用户与 AWS 上任意大的数据库或文件相关联。以上是关于开箱即用的移动应用同步服务的主要内容,如果未能解决你的问题,请参考以下文章
Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控