我想创建一个包含GitHub信息的数据集市,其中包括提交、拉取请求、恢复等。
GitHub提供了许多带有这些事件的webhooks。我正在尝试创建一个架构来处理这些事件,并将其加载到RDS数据库中。
我在考虑使用API Gateway + Kinesis Firehose将事件转储到S3。然后使用cron (如.https://airflow.apache.org/)来处理这些文件。
利弊:
(+)这是可靠的,因为我们有一个简单的应用程序接口网关+ Kineses转储到S3。
(+)因为我使用的是Airflow,所以很容易重新处理
(-)这似乎有点过度了
(-)它将不是实时数据集市。
你们是否可以考虑并提出另一种有优缺点的架构?
发布于 2019-01-07 15:14:16
就我个人而言,我会这么说:
API Gateway -> Lambda -> Kinesis Stream -> Kinesis Analytics
这将为您提供实时的要求。
然后,您可以使用Kinesis Firehose将流卸载到S3,以进行任何即席查询。
https://stackoverflow.com/questions/54022523
复制相似问题