npm 包 hystrix-too-busy 使用教程

阅读时长 3 分钟读完

介绍

hystrix-too-busy 是一个专用于 Node.js 服务的 NPM 包,它帮助您通过查看服务工作负载以及 CPU/内存利用率来检测和避免节点过载的现象。

安装

通过 NPM 安装该包:

使用

基础使用

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------
----- -------------- - ---------------------------

------------------------
  ------------------ -----
  ----------------- ----------
  ------------ ----------
  ------------------------ ---- -- ---- --- --- --- --
---

------------ ----- ---- -- -
  --------------- --------
--

---------------- -- -- -
  -------------------- --- --------- -- ---- -------
--

参数

您可以通过 hystrixTooBusy 函数的参数来配置检测参数:

  • maxEventLoopDelay:event loop 的最长等待时间(单位:ms),默认为 70 ms。
  • maxHeapUsedBytes:最大的堆内存使用量(单位:bytes),默认为 0,即该参数被禁用。
  • maxRssBytes:最大的进程内存使用量(单位:bytes),默认为 0,即该参数被禁用。
  • maxEventLoopUtilization:目标 event loop 利用率,表示 CPU 工作时间在 event loop 上的时间占 CPU 总时间的比例。默认为 0,即该参数被禁用。

反例

以下是示例代码中的错误实现:

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------
----- -------------- - ---------------------------

------------------------
  ------------------ -----
  ----------------- ----------
  ------------ ----------
  ------------------------ ---
---

------------ ----- ---- -- -
  --------------- --------
--

---------------- -- -- -
  -------------------- --- --------- -- ---- -------
--

上述代码中的 maxEventLoopUtilization 被设置为了 0.2,表示目标 event loop 利用率为 20%。这个值太低了,会导致代码无法快速响应请求,从而增加服务的延迟。

结论

使用 hystrix-too-busy 可以帮助您及时发现和避免服务过载的现象,提升代码响应速度,提高服务可靠性。需要注意的是,在设置参数时一定要保证合理性,使其能够在不影响服务质量的情况下充分发挥作用。

更多功能和使用方法,可参考官方文档:https://www.npmjs.com/package/hystrix-too-busy

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005608081e8991b448deb48

纠错
反馈