@absolutejs/health

中文文档
0.5.0发布于 2026/10/24BSL-1.1TypeScriptES Module构建来源已验证近 30 天下载 2043

活性+绝对JS基质的准备状态探测器. 创建健康检查器 , 命名为检查; 健康Plugin 曝光 / healthz( 进程活性? ) + / readyz( 可以服务流量吗 ) , 并带有标准的 JSON 信封 。 每一次检查超时,累计最差

中文使用文档
文档目录7 节
  1. 两个终点,两个语义
  2. 身体形状
  3. 状态代码
  4. 合计
  5. 检查工厂
  6. 过滤
  7. 许可证

@absolutejs/卫生

活性+绝对JS基质的准备状态探测器. 一个爱丽西亚 插件, 两个端点, 一个装入平衡器的标准 JSON 信封 和Kubernetes风格的管弦乐手 理解出盒子.

import { Elysia } from 'elysia';
import {
  createHealthChecker,
  healthPlugin,
  metricsCheck,
  probeCheck,
  httpCheck,
} from '@absolutejs/health';

const checker = createHealthChecker({
  checks: [
    // Synthesis from a substrate package's metrics() snapshot.
    metricsCheck('queue', () => worker.metrics(), (m) => ({
      status: m.failed > 100 ? 'warn' : 'pass',
      observed: { runs: m.runs, failed: m.failed },
    })),

    // Wrap an arbitrary probe.
    probeCheck('postgres', () => pg.query('SELECT 1')),

    // Downstream HTTP dependency.
    httpCheck('otlp-collector', 'http://collector:4318/healthz', {
      kind: 'readiness',  // run only under /readyz
    }),
  ],
});

const app = new Elysia().use(await healthPlugin({ checker }));
// GET /healthz → liveness:  200 / 503 with { status, checks, at }
// GET /readyz  → readiness: same shape, filtered to readiness + both

两个终点,两个语义

终点目的用于
/healthz"这个过程还活着吗?" 若为 fail,管弦乐器重新启动容器.系统活性探测器 WatchdogSec, (中文(简体) ), @absolutejs/runtime
/readyz"这个案例现在能为交通服务吗?" 若为 fail,LB停止通向它(但不会杀死它).负载平衡器健康检查、排水流程

区别很重要:一个耗尽的实例返回 readyz: fail

  • healthz: pass. LB在飞行时停止发送新流量 请求结束.

身体形状

{
  "status": "pass",
  "at": 1717161600000,
  "checks": {
    "queue": {
      "status": "pass",
      "latencyMs": 1,
      "observed": { "runs": 1057, "failed": 0 }
    },
    "postgres": { "status": "pass", "latencyMs": 12 }
  }
}

与 IETF 健康检查 JSON 草案 编辑 库伯涅斯 livez 编号 : readyz 公约. content-type: application/health+json。 。 。 .

状态代码

  • pass → 200 OK
  • warn → 200 OK (不要改变交通路线;在仪表板上表面)
  • fail → 503 Service Unavailable

LBs路由在状态代码上;人类+仪表板读取身体.

合计

状态是任何检查的 WORST : fail > warn > pass单人 无法依赖整个信封 — 与 Kubernetes 相同 /healthz 卷起行为.

检查工厂

  • probeCheck(name, () => promise) - 任何包装 () => Promise<unknown>. 决定 . pass; 投掷 fail 与 错误消息.
  • metricsCheck(name, () => metrics(), evaluator) - 读取a 底盘包 metrics() 决定通过/警告/失败。 抓图 值可登陆 observed 为仪表板.
  • httpCheck(name, url, options?) —— 说 GET url 和级别,由HTTP 状态。 2xx – (中文(简体) ) pass任何其它东西 fail。 。 。 .
  • 自己滚 - 任何 { name, check: () => CheckResult | Promise<CheckResult> } 工作时.

过滤

{ name: 'shutting-down', kind: 'readiness', check: () => ({
  status: draining ? 'fail' : 'pass'
})}

一张支票 kind (单位:千美元)'liveness' 编号 : 'readiness' 编号 : 'both'默认值 'both'控制它运行的终点。 下游运行重 检查只在准备状态下进行; 将现场活动限于“联合来文” 过程是反应"

许可证

BSL-1.1 与主机运行时间/合成时间对应的指定例外 监测服务。 变更日期:2030-05-31 (Apache 2.

版本与发布记录

@absolutejs/health 共发布 7 个版本,首次发布于 2026/05/31;过去 12 个月发布了 7 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.5.0latest2026/10/2414 天前
0.4.02026/08/202 个月前
0.3.02026/07/273 个月前
0.2.12026/07/253 个月前
0.2.02026/07/233 个月前
0.1.12026/07/143 个月前

关于 @absolutejs/health 的常见问题

@absolutejs/health 是什么?

活性+绝对JS基质的准备状态探测器. 创建健康检查器 , 命名为检查; 健康Plugin 曝光 / healthz( 进程活性? ) + / readyz( 可以服务流量吗 ) , 并带有标准的 JSON 信封 。 每一次检查超时,累计最差

如何安装 @absolutejs/health?

在项目目录运行 npm install @absolutejs/health,或使用 pnpm add / yarn add / bun add。

@absolutejs/health 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@absolutejs/health 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@absolutejs/health 可以商用吗?

@absolutejs/health 使用 BSL-1.1 许可。声明的许可为 BSL-1.1,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@absolutejs/health 的下载量有多少?

根据 npm 官方下载统计,@absolutejs/health 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,043 次,日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@absolutejs/health 还在维护吗?

最新版本 0.5.0 发布于 2026/10/24(14 天前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/05/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。