我有点初学者,但我正在使用 AWS SAM(使用 API Gateway 和 Lambda)创建一个外部 API,我想要一种跟踪和监控使用情况的方法。
我正在考虑的一些选择:
1.将请求存储在数据库中
Pro:它可以让我存储尽可能多的关于请求的信息
Con:我认为这可能太慢而无法处理大量快速请求
2. 记录用户使用 Redis 发出请求的频率——但我还想要更多关于他们发出的请求的信息
Pro:我可以快速计算用户请求
Con:如果我的键值对是,这可能会限制我可以存储的有关用户的信息量user-id
:number-of-requests
3.使用消息队列
Pro:我可以将请求信息放入消息队列,然后让另一个 Lambda 函数将其放入数据库,而不会减慢 API 的响应时间 Con:这可能过于复杂?而且我可能仍然会遇到与选项 1 相同的问题,即我会同时进行一堆小交易。
您能否提出一种方法或批评上述任何选项?
谢谢你的帮助!