Webhook终点-处理多个并发请求

2024-05-19 07:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

这与编程无关,更与基础设施有关,但在所有的exchange站点中,StackOverflow似乎对RESTful API的各个部门最为了解。你知道吗

我配置了一个端点,用于处理在3分钟窗口内最多可以接收1k个事件的事件。我注意到了很多“错过”的事件,但我不确定我是否愿意在没有完全理解的情况下马上责怪过度利用。你知道吗

侦听端点是/users/events?user=2345345,其中2345345是用户id。在这里,我们对该特定用户执行必要的操作,但如果在此期间,下一个用户2895467执行一个操作,该操作导致在处理第一个事件之前将新事件发送到/users/events?user=2895467。会发生什么?你知道吗

我打算通过使用celery来发出任务信号来减轻这种担忧,这将大大减少这种担忧,但是假设在这个单一端点保持同步的情况下事件可能会丢失,这公平吗?你知道吗


Tags: 用户apirestfulexchange站点编程基础设施事件
1条回答
网友
1楼 · 发布于 2024-05-19 07:22:26

现实生活中的行为取决于用于“部署”的方法。你知道吗

例如,如果您使用uwsgi,nginx后面只有一个无线程的worker,那么请求将“按顺序”处理:如果第二个请求在第一个请求处理之前到达,那么第二个请求将“排队”(添加到backlog中)。你知道吗

它可以排队多长时间?队列中可能有多少个请求 取决于nginx(listen backlog)的配置、uwsgi(并发,listen backlog)的配置,甚至取决于配置 操作系统内核(搜索net.core.somaxconnnet.core.netdev_max_backlog)。当队列变为“满”时,则为“新” “并发”连接将被丢弃,而不是添加到队列中。你知道吗

相关问题 更多 >

    热门问题