我想用GitHub信息创建带有提交,拉取请求,还原等的Datamart。
GitHub为这些事件提供了许多Webhooks。我正在尝试创建一种架构来处理这些事件并将其加载到RDS数据库中。
我当时在考虑使用API网关+ Kinesis Firehose将事件转储到S3。然后使用cron(例如https://airflow.apache.org/)处理这些文件。
利弊:
(+)可靠,因为我们有一个简单的API网关+ Kineses转储到S3。
(+)使用Airflow时很容易重新处理
(-)似乎有点超出了架构
(-)不会是实时数据集市。
你们可以考虑使用PROS和CONS提出另一种架构吗?
答案 0 :(得分:0)
我个人会选择:
API Gateway -> Lambda -> Kinesis Stream -> Kinesis Analytics
这将使您具有实时性。
然后您可以使用Kinesis Firehose将流卸载到S3,以进行任何临时查询。