我们希望建立跟踪网站互动/事件的数据管道系统。我们的目标是跟踪网站中的用户行为,因此我们希望选择正确的体系结构来实现它,有以下两个限制: 1)系统是Amazon 2)这是预算项目,因此我们不能为此目的使用红移。
基于上述两个约束,我的计划是实现以下体系结构:
网站-javascript-> AWS-S3 ->(AWS)->AWS
网站javascript客户端-aws-消防软管数据传递系统到S3 -跟踪用户交互,并将他们加载到aws-消防软管,最终写在aws-S3。
AWS (Python) -周期性任务,它从AWS-S3中提取每日事件并将其加载到AWS。
我之所以选择AWS-RDS是因为它在这个目标上的成本效益。
感谢您对上面提到的实现或任何其他架构建议的任何评论,您可以建议使用这些建议来代替上面的内容。
发布于 2019-01-21 20:48:17
如果我正确理解了您的问题,您将提出以下解决方案,以便为您的应用程序执行web分析:
WebServer ->消防喉-> AWS-S3 ->AWS>AWS
我看到下面的利弊与上面的设计。
优点:
缺点:
通过消防软管将数据存储在S3中的建议听起来是一个很好的解决方案。但请记住,消防软管的最小间隔是一分钟,所以您的应用程序需要容忍这种小延迟。您可以使用Kinesis来具有毫秒延迟,但随后需要管理自己的应用程序代码和实例来处理流。
在将数据摄取到Kinesis或Streams中之后,您还可以探索以下备选方案:
添加很少来自AWS的引用,在决定解决方案之前,您可能会浏览这些引用:
发布于 2019-01-19 12:58:53
嘿,乡巴佬,这越来越普遍了。
通常情况下,这种模式是将事件单击到Kinesis,然后您就可以使用Kinesis实时监控用户与网站的交互。您可以将流连接到消防水管,将数据卸载到S3桶中,还可以合并Lambdas来转换数据。
并行处理Lambdas和Kinesis有一些主要的复杂性,因此这个解决方案可能不像使用AWS那样具有可伸缩性。或者运行一个作业,将您的s3数据移动到rds中,用于您可能需要的任何临时报告。
下面是AWS已经具有具有运动特性的实时网络分析的模式
https://stackoverflow.com/questions/54267013
复制相似问题