hapijs 有过载保护之类的东西吗?

Does hapijs have something like overload protection?

如果 hapi 服务器过载,它会做什么?是否有类似 toobusy-js 的东西可以通过缩短一些有错误的请求来防止服务器崩溃。

是的,它嵌入在框架中,在连接 settings 上查看 load。 您有 3 个选项:

  • maxHeapUsedBytes - 传入请求被 HTTP 服务器超时 (503) 响应拒绝的最大 V8 堆大小。默认为 0(无限制)。
  • maxRssBytes - 传入请求被 HTTP 服务器超时 (503) 响应拒绝的最大进程 RSS 大小。默认为 0(无限制)。
  • maxEventLoopDelay - 以 HTTP 服务器超时 (503) 响应拒绝传入请求的最大事件循环延迟持续时间(以毫秒为单位)。默认为 0(无限制)。 `

并且您一定不要忘记在 server.load 配置上设置采样间隔(两次检查之间的时间):

  • sampleInterval - 以毫秒为单位的采样频率。默认为 0(无采样)。

示例:

服务器配置:

{
  "load": {
    "sampleInterval": 1000
  }
}

连接配置:

{
  "load": {
    "maxHeapUsedBytes": 1073741824,
    "maxRssBytes": 1610612736,
    "maxEventLoopDelay": 5000
  }
}