猿问

在 go 或 nodejs 中处理大量的请求/秒

我正在开发一个需要处理突发性非常高负载的网络应用程序,每分钟一次,我在几秒钟内(~1M-3M/秒)收到突发性请求,然后在接下来的一分钟里我什么也得不到,

在每个前端服务器上处理尽可能多的 req /sec 的最佳策略是什么,只需发送回复并将请求以某种方式存储在内存中,以便稍后由 DB writer 工作人员在后台处理?

目的是在burst期间做的越少越好,burst后尽快将请求写入DB。

编辑:事务的顺序并不重要,我们可能会丢失一些事务,但需要记录 99% 将所有请求发送到数据库的延迟可能是收到最后一个请求后的几秒钟。让我们说不超过 15 秒


紫衣仙女
浏览 252回答 2
2回答

一只甜甜圈

一个缓冲区大小等于数据库编写器可以在 15 秒内处理的通道怎么样?当请求进来时,它会在通道上发送。如果通道已满,则给出某种“系统过载”错误响应。然后 DB 写入器从通道读取并写入数据库。
随时随地看视频慕课网APP

相关分类

Go
我要回答