为什么我们在使用 webhooks 时需要队列?

Dod*_*odz 5 networking http webhooks

谁能澄清使用队列的目的是什么?

我的理解是 awebhook只是 a ,您对其URL发出请求,然后根据请求的正文/数据执行一些操作。那么为什么我需要对数据进行排队并将其存储在然后再次循环数据库中并执行这些操作。POSTURLdatabase

dmu*_*ter 5

简而言之,您不必使用队列。Webhook 只是一个 HTTP 请求(通常是 POST),通知您的应用程序某种类型的事件。您可能想要考虑队列的原因是您可能遇到的典型问题。

其中之一是由于返回 webhook 请求者的响应时间(来源)。许多来源希望尽快得到响应(HTTP 状态 200),以便他们可以将请求从 Webhook 系统中出列。如果处理 Webhook 需要一些时间,消息来源通常会建议您使用队列来推迟对 Webhook 的 200 响应的异步较长进程。

另一个可能的原因可能是删除重复的请求。Webhooks 无法保证您每个事件只会收到一个请求。队列可用于消除这些请求的重复数据。

如果可能的话,我建议您坚持使用简单的请求处理程序,然后在遇到问题时开发更复杂的处理程序。如果您遇到上述问题,请将队列视为一种潜在的设计方法。