首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是正确的架构\设计来执行javascript客户端到aws-数据库网站跟踪系统

什么是正确的架构\设计来执行javascript客户端到aws-数据库网站跟踪系统
EN

Stack Overflow用户
提问于 2019-01-19 12:17:24
回答 2查看 219关注 0票数 0

我们希望建立跟踪网站互动/事件的数据管道系统。我们的目标是跟踪网站中的用户行为,因此我们希望选择正确的体系结构来实现它,有以下两个限制: 1)系统是Amazon 2)这是预算项目,因此我们不能为此目的使用红移。

基于上述两个约束,我的计划是实现以下体系结构:

网站-javascript-> AWS-S3 ->(AWS)->AWS

网站javascript客户端-aws-消防软管数据传递系统到S3 -跟踪用户交互,并将他们加载到aws-消防软管,最终写在aws-S3。

AWS (Python) -周期性任务,它从AWS-S3中提取每日事件并将其加载到AWS。

我之所以选择AWS-RDS是因为它在这个目标上的成本效益。

感谢您对上面提到的实现或任何其他架构建议的任何评论,您可以建议使用这些建议来代替上面的内容。

EN

回答 2

Stack Overflow用户

发布于 2019-01-21 20:48:17

如果我正确理解了您的问题,您将提出以下解决方案,以便为您的应用程序执行web分析:

WebServer ->消防喉-> AWS-S3 ->AWS>AWS

我看到下面的利弊与上面的设计。

优点:

  1. 低成本
  2. 易于实现

缺点:

  1. RDS可能不够畅销,无法处理大量web流数据的分析,这些数据往往增长迅速。
  2. 需要处理lambda的负载平衡、故障场景和其他复杂性。
  3. 您需要处理RDS的数据转换,因为它希望结构化数据被纳入关系表中。

通过消防软管将数据存储在S3中的建议听起来是一个很好的解决方案。但请记住,消防软管的最小间隔是一分钟,所以您的应用程序需要容忍这种小延迟。您可以使用Kinesis来具有毫秒延迟,但随后需要管理自己的应用程序代码和实例来处理流。

在将数据摄取到Kinesis或Streams中之后,您还可以探索以下备选方案:

  • 如果在AWS区域可用,请使用实时跟踪web用户的活动。它目前只在选定的AWS区域可用
  • 在消防软管中,使用lambda转换您的数据,并以优化的格式将其存储在S3中,以便使用AWS雅典娜进行进一步分析。
  • 使用弹性搜索作为目标,使用ELK堆栈而不是RDS执行web分析。
  • 虽然您提到不能使用RedShift,但它仍然可能是时间序列分析的最佳解决方案。探索RedShift、RedShift频谱和存储在S3中的格式化数据仍然是一种成本效益高、性能更好的解决方案。

添加很少来自AWS的引用,在决定解决方案之前,您可能会浏览这些引用:

基于动态数据分析解决方案的实时Web分析

基于Amazon Kinesis和Amazon Elasticsearch的流数据的近实时分析

使用Athena的模式在读分析管道

Amazon频谱将数据仓库扩展到艾字节-不需要加载

票数 3
EN

Stack Overflow用户

发布于 2019-01-19 12:58:53

嘿,乡巴佬,这越来越普遍了。

通常情况下,这种模式是将事件单击到Kinesis,然后您就可以使用Kinesis实时监控用户与网站的交互。您可以将流连接到消防水管,将数据卸载到S3桶中,还可以合并Lambdas来转换数据。

并行处理Lambdas和Kinesis有一些主要的复杂性,因此这个解决方案可能不像使用AWS那样具有可伸缩性。或者运行一个作业,将您的s3数据移动到rds中,用于您可能需要的任何临时报告。

下面是AWS已经具有具有运动特性的实时网络分析的模式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54267013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档