npm 包 ckt-breaker 使用教程

阅读时长 5 分钟读完

随着前端技术的不断发展,前端应用的复杂度也在不断增加。在分布式环境下,应用程序的可用性变得越来越重要。当一个微服务或 API 不可用时,它将会导致许多问题,如尽早发现问题以便快速恢复等。

在这种情况下,熔断器就成为了 Web 前端的重要组件。在本篇文章中,我们将介绍一款名为 ckt-breaker 的 npm 包,它是一个非常优秀的熔断器实现。

简介

ckt-breaker 是一款 Node.js 的熔断器实现,主要用于控制对一个故障的微服务,避免使它陷入死循环等。熔断器由 Martin Fowler 提出,它关注容错和可恢复性的构件模式,主要适用于分布式系统中微服务的调用。

特性

  • 非侵入式调用
  • 同步和异步函数支持
  • 请求信号量支持
  • 断路器状态监听支持
  • 支持回退模式

安装

安装 ckt-breaker 只需要使用 npm:

示例

创建实例

注册函数

调用函数

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

重试

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

当熔断器处于打开状态时,我们需要等待熔断器自动恢复。resetTime 属性会告诉我们重试前需要等待的时间。这种模式用于支持过程中断,并减少出错次数。

断路器状态监听

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

结论

ckt-breaker 是一个非常有用的熔断器实现,它的功能强大,同时也非常易于使用。在 Node.js 微服务的场景中,我们可以方便的使用它来提高我们应用的可靠性。

参考文献

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

纠错
反馈