- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发一个新的游戏项目,该项目将由 React Native 前端和基于 Lambda 的后端组成。该应用程序需要一些实时功能,例如事件用户记录、地理围栏等。
我正在研究 Firebase 的实时数据库,它看起来是一个非常优雅的实时数据同步解决方案,但我认为 AWS 没有类似的解决方案。
我能想到的仅使用 AWS 服务实现“无服务器”实时的 3 个选项是:
选项 1:通过 WebSocket 进行 AWS IoT 消息传递
这个非常明显,是通过 IoT SDK 管理的 WebSockets 连接。我正在考虑触发 Lambda 来响应入站和出站事件,并仅使用 WebSocket 作为实时层,像通常那样在应用程序客户端上构建自定义处理逻辑。
至少与 Firebase 相比,这样做的缺点是我必须自己处理事件中的数据,这将在 WebSocket 之上添加另一层管理,并且必须使用 API 数据层进行标准化应用程序的商店。
优点:
缺点:
选项 2:推送触发重新获取
另一种选择是使用推送通知作为实时触发器,但使用对 API Gateway 的常规 HTTP 请求来实际获取更新的负载。
我喜欢这种方法,因为它只坚持一个传输层和应用程序状态的单一事实来源。当应用程序未打开时,它也会触发更新,因为这些是推送通知。
缺点是,这是大量的自定义工作,并且推送通知与需要获取的数据之间的映射可能很困难。
优点:
缺点:
选项 3:Cognito 同步这对我来说比较新,我不确定它是否真的可以与服务器交互。
Cognito Sync 提供用户状态同步。跨设备完成离线支持,并且是 Cognito SDK 的一部分,无论如何我都会使用它。这听起来正是我正在寻找的内容,但找不到任何确凿的证据来证明是否可以修改或“触发”来自 AWS 而不仅仅是来自其中一台设备的更新。
优点:
缺点:
我想知道是否有人有在 AWS 上进行实时处理(作为基于 Lambda 的架构的一部分)的经验,以及您是否对最佳的继续方式有什么看法?
最佳答案
我向 AWS 支持人员提出了类似的问题,这是他们的答复。
我向他们提出的问题:
What's the group of AWS services (if it's possible) to give that same in-browser real-time DBaaS feel like Firebase?
AWS Cognito seems to be great for user-accounts. Is there anything similar for the WebSockets / real-time DB part?
他们的回应:
To your question, Firebase is closest to the AWS service AWS MobileHub. You can check out more details below about mobilehub from below link.
https://aws.amazon.com/mobile/details/ https://aws.amazon.com/mobile/getting-started/
"AWS Cognito seems to be great for user-accounts. Is there anything similar for the WebSockets / real-time DB part?"
Amazon Dynamodb is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and supports both document and key-value store models. Its flexible data model, reliable performance, and automatic scaling of throughput capacity, makes it a great fit for mobile, web, gaming, ad tech, IoT, and many other applications.
Amazon Dynamodb can be further optimized with Amazon DynamoDB Accelerator (DAX) which is a fully managed, highly available, in-memory cache that can reduce Amazon DynamoDB response times from milliseconds to microseconds, even at millions of requests per second.
For more information, please see below documentation.
https://aws.amazon.com/dynamodb/getting-started/ https://aws.amazon.com/dynamodb/dax/
Should you have any further questions, please do not hesitate to let me know.
Thanks.
Best regards,
Tayo O. Amazon Web Services
Check out the AWS Support Knowledge Center, a knowledge base of articles and videos that answer customer questions about AWS services: https://aws.amazon.com/premiumsupport/knowledge-center/?icmpid=support_email_category
此外,在研究这个答案时,我还发现了这个,看起来很有趣:
对该文章的评论也很有趣。
Jacob Wakeem: What advantage this approach have over using aws iot? It seems that iot has all these functionality without writing a single line of code and with server-less architecture.
Sam Dengler: The managed PubSub feature in the AWS IoT service is also a good approach to message-based applications, like the one demonstrated in the article. With Elasticache (Redis), customers who use Pub/Sub are typically also using Redis as a data store for other use cases such as caching, leaderboards, etc. With that said, you could also use ElastiCache (Redis) with the AWS IoT service by triggering an AWS Lambda function via the AWS IoT rules engine. Depending on how the message-based application is architected and how the data is leveraged, one solution may be a better fit than the other.
关于amazon-web-services - AWS 相当于 Firebase 实时数据库的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589636/
在 Chapel 中以固定增量遍历一系列实数的最惯用方法是什么? C 等效代码为: for (x = 0.0; x start, "Stop must be greater than start");
在编写我的 VBA 宏时,我经常使用“GoTo”以便在不离开 Sub 的情况下跳转到宏的前一部分。现在我正在将我所有的宏转换为 Google Apps 脚本,我正试图找到“GoTo”的等效项。 Sub
作为一个(不幸)对 jQuery 的了解多于 raw javascript 的人,我现在正在学习是时候用原始 javascript 替换我的所有代码了。不,这不是必需的,但对我来说这是一种更简单的学习
当我运行 git help -a它向我显示了内部命令列表、我所有的别名和我所有的外部 git 命令(即我的路径中以 git- 开头的任何可执行文件)。我想要的是一个可以作为 git which 运行的
我正在使用的查询: SELECT COUNT(*), SUM(amount) AS amount, FROM_UNIXTIME(added, '%W (%e/%m)') AS dail
我有一堆我正在调试的脚本,都是嵌套的并且非常讨厌。 只是想知道我是否能够设置一些与 bash 的 -x 选项等效的环境变量。这将为我节省大量时间。 我已经寻找答案,但似乎它不存在 - 希望你们聪明的人
ObjC [MyObject doThisWithString:string?: [MyObject otherString]]; 我如何在 Swift 中执行此操作? extension MyObj
我目前正在运行 Sonar 来对我的代码进行静态分析。当我在分析java文件并想抑制某个警告时,我使用了@SuppressWarnings(nameOfTheWarningOnSonar)注解。我想知
我最近一直在研究 Elixir 和 Akka,这让我想到:Clojure 中的等价物是什么? 我发现了几篇关于代理与 Actor 的“消息吞吐量比较”帖子,但它们来自 8 年前 一个答案曾经是agen
我以前工作的地方,我们使用 Mercurial 进行版本控制。我有一份新工作,我们在那里使用 Subversion。我是 Subversion 的新手。 我发现自己想知道自从我在远程仓库上结帐以来 c
寻找一种等效的剪切和粘贴策略来复制 vim 的“cut til”。如果我真的知道它在 vim 中的名称,我敢肯定这是 googleable,但这是我要找的: 如果我有一个像这样的文本块: foo ba
我有一段 .NET 代码,我想将其移植到 64 位。这些代码基本上是一组对其他 C dll 的 P/Invoke 调用。 C dll 中的函数之一具有参数“size_t”。我应该在我的 P/Invok
开发 iPhone 应用程序的标准开发者平台是什么,例如相当于 Eclipse? 最佳答案 Xcode 是 iOS 开发的标准且唯一(由 Apple 支持)IDE。它也是必需的,因为如果您想要任何开发
我想将某些内容推送到 iPhone 的响应者链上。也就是说,我想将选择器发送到 UIResponder子类,如果它不响应所述选择器,则将其传递给其 nextResponder . 有什么想法吗? 最佳
我需要一个与 SQL 中的此查询等效的 Firebase 查询: select * from your_table where id in (123, 345, 679) 你会如何在 firebase
我有一个很好的解决方案: $.get('getdbstuff.php?type=meta,'.$var_id, function(data){ $(data).appendTo("head")
我正处于 Cassandra 应用程序数据建模的初始阶段。此应用程序具有现有的关系持久层,必须用 Cassandra 替换。 应用程序为用户使用一个名为login_log 的表,它提供所有应用程序中任
如标题所述,TensorFlow 是否存在与 numpy.all() 函数等效的函数来检查 bool 张量中的所有值是否为 True?实现此类检查的最佳方法是什么? 最佳答案 使用tf.reduce_
在 Stata 中,如果我有以下变量:var1、var2、var3、var4、var5 和 var6,我可以使用命令 var* 选择所有它们。 R 有类似的功能吗? 最佳答案 “dplyr”包中的se
我正处于 Cassandra 应用程序数据建模的初始阶段。此应用程序具有现有的关系持久层,必须用 Cassandra 替换。 应用程序为用户使用一个名为login_log 的表,它提供所有应用程序中任
我是一名优秀的程序员,十分优秀!