1

我想创建一个包含 GitHub 信息的数据集市,其中包含提交、拉取请求、还原等。

GitHub 为这些事件提供了许多 webhook。我正在尝试创建一个体系结构来处理这些事件并将其加载到 RDS 数据库中。

我正在考虑使用 API Gateway + Kinesis Firehose 将事件转储到 S3。然后使用 cron(如https://airflow.apache.org/)来处理这些文件。

缺点和优点:

(+) 它是可靠的,因为我们有一个简单的 API 网关 + Kineses 转储到 S3。

(+) 因为我使用 Airflow,所以很容易重新处理

(-) 似乎有点过度架构

(-) 它不是实时数据集市。

你们可以思考并提出另一种具有优点和缺点的架构吗?

4

1 回答 1

1

我个人会选择:

API Gateway -> Lambda -> Kinesis Stream -> Kinesis Analytics

这将为您提供实时的要求。

然后,您可以使用 Kinesis Firehose 将流卸载到 S3 以进行任何临时查询。

于 2019-01-07T07:14:15.877 回答