0

我的应用实现了 Stripe webhook。在处理完事件后,我会保存事件 ID 的记录,并在处理每个 webhook 之前检查这些记录。因此,根据 Stripe 文档最佳实践,我的应用目前是幂等的:https ://stripe.com/docs/webhooks/best-practices

但是,我需要保留这些记录多长时间?我应该永远保留它们还是可以在 30 天、6 个月、1 年等后删除它们?

我将它们存储在 Mongo DB 中,数据只是 Stripe webhook 事件的 ID,因此收集数据看起来像几年后的样子(我只听几个事件):

集合大小:2.73MB 文档总数:47183 个索引 总大小:1.51MB

最终这个集合会变得非常大,每次我查询它以检查最新的 webhook 时,查询都会变慢。但我想这需要很长时间才能真正重要。

这里的软件最佳实践是什么?我正在写一个 14 天后删除的 cron,但我心想这是错的吗?

4

1 回答 1

0

您无法检索超过 30 天的事件:https ://stripe.com/docs/api/events/list因此,如果您需要内容,则应保留它们。

如果您需要最新的事件 ID,您应该存储它,或者在事件 ID 上建立索引,或者存储一个仅包含 datetime、event_id 的列表。

于 2021-07-06T02:19:59.853 回答