我想创建一个包含 GitHub 信息的数据集市,其中包含提交、拉取请求、还原等。
GitHub 为这些事件提供了许多 webhook。我正在尝试创建一个体系结构来处理这些事件并将其加载到 RDS 数据库中。
我正在考虑使用 API Gateway + Kinesis Firehose 将事件转储到 S3。然后使用 cron(如https://airflow.apache.org/)来处理这些文件。
缺点和优点:
(+) 它是可靠的,因为我们有一个简单的 API 网关 + Kineses 转储到 S3。
(+) 因为我使用 Airflow,所以很容易重新处理
(-) 似乎有点过度架构
(-) 它不是实时数据集市。
你们可以思考并提出另一种具有优点和缺点的架构吗?