我正在进行一个新的游戏项目,它将包括一个反应本地前端和一个基于Lambda的后端。该应用程序需要一些实时功能,如活动用户记录,地理信息,等等。
我在看Firebase的实时数据库(),它看起来是一个非常优雅的实时数据同步解决方案,但我认为AWS没有任何类似的地方。
我可以想到的仅使用AWS服务的“无服务器”实时使用的3个选项是:
选项1:基于WebSockets的AWS IoT消息传递
很明显,这是一个通过WebSockets IoT进行管理的IoT连接。我正在考虑触发Lambdas,以响应入站和出站事件,只需使用WebSockets作为实时层,在应用程序客户机上构建自定义处理逻辑,就像通常的情况一样。
这样做的缺点是,至少与Firebase相比,我必须自己处理事件中的数据,这将在WebSockets之上添加另一层管理层,并且必须与应用程序的存储中的API数据层进行标准化。
优点:
缺点:
选项2:推送触发的重取
另一种选择是使用push通知作为实时触发器,但使用对API网关的常规HTTP请求来实际获得更新的有效负载。
我喜欢这种方法,因为它只坚持一个传输层和一个应用程序状态的真理来源。当应用程序没有打开时,它也会触发更新,因为这些都是推送通知。
缺点是,这是许多自定义工作,在推送通知到需要获取的数据之间存在潜在的困难映射。
优点:
缺点:
选项3:认知同步,这对我来说是新的,我不确定它是否真的可以从服务器上进行接口。
认知同步提供用户状态同步。跨设备完成的离线支持,是认知SDK的一部分,无论如何我都要使用它。这听起来就像我正在寻找的,但没有找到任何确凿的证据,证明是否可以修改,或“触发”,从AWS更新,而不仅仅是从其中一个设备。
优点:
缺点:
我想知道是否有人有在AWS上进行实时工作的经验,作为基于Lambda的体系结构的一部分,以及您是否对进行工作的最佳方式有自己的看法?
发布于 2017-08-29 15:04:44
我问了一个类似的问题,对AWS的支持,这是他们的反应。
我的问题是:
什么是AWS服务组(如果可能的话)提供相同的浏览器中的实时DBaaS感觉像Firebase? AWS公司似乎对用户帐户很有帮助。对于WebSockets /实时DB部分有类似的地方吗?
他们的答复:
对于您的问题,Firebase最接近AWS服务AWS MobileHub。您可以从下面的链接查看有关mobilehub的更多详细信息。 https://aws.amazon.com/mobile/details/ https://aws.amazon.com/mobile/getting-started/ "AWS认知似乎很适合用户帐户。对于WebSockets /实时DB部分,有类似的地方吗?“ Amazon是一种快速、灵活的NoSQL数据库服务,适用于所有需要任何规模的、一致的、单位数毫秒延迟的应用程序。它是一个完全管理的云数据库,同时支持文档和键值存储模型。其灵活的数据模型、可靠的性能和自动扩展的吞吐量,使其非常适合于移动、网络、游戏、广告技术、IoT等多种应用。 Amazon可以使用亚马逊Dynamodb加速器(DAX)进一步优化,这是一个完全管理的、高度可用的内存缓存,可以将亚马逊DynamoDB响应时间从毫秒减少到微秒,甚至以每秒数百万次请求的速度减少。 有关更多信息,请参见下面的文档。 https://aws.amazon.com/dynamodb/getting-started/ https://aws.amazon.com/dynamodb/dax/ 如果您还有其他问题,请随时通知我。 谢谢。 诚挚的问候, Tayo O. Amazon Web服务 查看AWS支持知识中心( AWS Support Knowledge Center ),这是一个由回答客户有关AWS服务的问题的文章和视频组成的知识库:类别
另外,在研究这个答案的时候,我也发现了这个,看起来很有趣:
对那篇文章的评论也很有趣。
Jacob Wakeem:与使用aws物联网相比,这种方法有什么优势?看起来物联网拥有所有这些功能,不需要编写一行代码,也没有服务器架构。 Sam : AWS IoT服务中的托管IoT特性也是基于消息的应用程序的一种很好的方法,正如本文所演示的那样。有了Elasticache ( Redis ),使用Pub/Sub的客户通常也会使用Redis作为其他用例的数据存储,例如缓存、领导板等。尽管如此,您还可以通过通过AWS规则引擎触发AWS函数来将ElastiCache (Redis)与AWS IoT服务一起使用。取决于基于消息的应用程序是如何架构的,以及如何利用数据,一个解决方案可能比另一个更适合。
发布于 2017-11-30 21:02:59
查看AWS AppSync中的一些使用不同数据源的实时和脱机特性,包括数据库搜索和计算。
发布于 2020-04-21 01:38:34
AWS扩增是AWS对Firebase的现代解决方案。
构建移动和web应用程序的最快方法 AWS放大器是一个用于构建安全、可伸缩的移动和web应用程序的开发平台。它使您很容易对用户进行身份验证,安全地存储数据和用户元数据,授权对数据的选择性访问,集成机器学习,分析应用程序度量,并执行服务器端代码。扩容涵盖了完整的移动应用程序开发工作流程,从版本控制、代码测试到生产部署,它可以轻松地将您的业务从数千名用户扩展到数千万用户。放大器库和CLI是放大器框架的一部分,它们是开源的,并提供了一个可插拔的接口,使您能够定制和创建自己的插件。
https://stackoverflow.com/questions/39589636
复制相似问题