Go Fiber 한글 공식 문서
  • 🙇‍♀️안녕하세요
  • 🏠Home
    • 👋Welcome
    • 📁API
      • 📦Fiber
      • 🚀App
      • 🧠Ctx
      • 📋Constants
      • 🌎Client
      • 📃Log
      • 🧬Middleware
        • Adaptor
        • BasicAuth
        • Cache
        • Compress
        • CORS
        • CSRF
        • EarlyData
        • Encrypt Cookie
        • EnvVar
        • ETag
        • ExpVar
        • Favicon
        • FileSystem
        • Health Check
        • Helmet
        • Idempotency
        • Keyauth
        • Limiter
        • Logger
        • Monitor
        • Pprof
        • Proxy
        • Recover
        • Redirect
        • RequestID
        • Rewrite
        • Session
        • Skip
        • Timeout
    • 📁Guide
      • 🔌Routing
      • 🎭Grouping
      • 📝Templates
      • 🐛Error Handling
      • 🔎Validation
      • 🎣Hooks
      • ⚡Make Fiber Faster
    • 📁Extra
      • 🤔FAQ
      • 📊Benchmarks
  • 🧩Extra
    • 🧬Contrip
      • 👋Welcome
      • Casbin
      • Fgprof
      • Fiberi18n
      • Fibernewrelic
      • Fibersentry
      • Fiberzap
      • Fiberzerolog
      • JWT
      • LoadShed
      • Opafiber
      • Otelfiber
        • Example
      • Paseto
      • README
      • Swagger
      • Websocket
    • 📦Storage
      • 👋Welcome
      • ArangoDB
      • Azure Blob
      • Badger
      • Bbolt
      • Coherence
      • Couchbase
      • DynamoDB
      • Etcd
      • Memcache
      • Memory
      • Minio
      • MongoDB
      • MSSQL
      • MySQL
      • Nats
      • Pebble
      • Postgres
      • Redis
      • Ristretto
      • Rueidis
      • S3
      • ScyllaDb
      • SQLite3
    • 📃Template
      • 👋Welcome
      • Ace
      • Amber
      • Django
      • Handlebars
      • HTML
        • Golang Templates Cheatsheet
      • Jet
      • Mustache
      • Pug
      • Slim
Powered by GitBook
On this page
  • Overview
  • Signatures
  • Examples
  • Config
  • Default Config
  1. Home
  2. API
  3. Middleware

Health Check

PreviousFileSystemNextHelmet

Last updated 1 year ago


Fiber 애플리케이션의 활성화 및 준비 상태를 확인하는 두 개의 엔드포인트를 제공하는 미들웨어입니다.

Overview

  • Liveness Probe: 서버가 실행 중인지 확인합니다.

    • 기본 엔드포인트: /livez

    • 동작: 기본적으로 서버가 작동 중일 때 즉시 true를 반환합니다.

  • Readiness Probe: 애플리케이션이 요청을 처리할 준비가 되었는지 평가합니다.

    • 기본 엔드포인트: /readyz

    • 동작: 기본적으로 서버가 작동 중일 때 즉시 true를 반환합니다.

  • HTTP 상태 코드:

    • 200 OK: 체커 함수가 true로 평가될 때 반환됩니다.

    • 503 Service Unavailable: 체커 함수가 false로 평가될 때 반환됩니다.

Signatures

func New(config Config) fiber.Handler

Examples

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/fiber/v2/middleware/healthcheck"
)
// 최소 구성 제공
app.Use(healthcheck.New())

// 또는 사용자 지정을 위해 구성 확장
app.Use(healthcheck.New(healthcheck.Config{
  LivenessProbe: func(c *fiber.Ctx) bool {
    return true
  },
  LivenessEndpoint: "/live",
  ReadinessProbe: func(c *fiber.Ctx) bool {
    return serviceA.Ready() && serviceB.Ready() && ...
  },
  ReadinessEndpoint: "/ready",
}))

Config

type Config struct {
  // Next는 true를 반환할 때 이 미들웨어를 건너뛰는 함수를 정의합니다.
  //
  // 선택사항. 기본값: nil
  Next func(c *fiber.Ctx) bool

  // 애플리케이션의 활성 상태를 확인하는 데 사용되는 함수입니다. 애플리케이션이
  // 실행 중이면 true를, 그렇지 않으면 false를 반환합니다. Liveness Probe는 일반적으로
  // 애플리케이션이 요청을 처리할 수 있는 상태인지 나타내는 데 사용됩니다(예: 서버가 실행 중임).
  //
  // 선택사항. 기본값: func(c *fiber.Ctx) bool { return true }
  LivenessProbe HealthChecker

  // Liveness Probe가 사용 가능한 HTTP 엔드포인트입니다.
  //
  // 선택사항. 기본값: "/livez"
  LivenessEndpoint string

  // 애플리케이션의 준비 상태를 확인하는 데 사용되는 함수입니다. 애플리케이션이
  // 요청을 처리할 준비가 되었으면 true를, 그렇지 않으면 false를 반환합니다. Readiness Probe는
  // 일반적으로 애플리케이션이 올바르게 작동하는 데 필요한 모든 서비스, 데이터베이스 및 기타 
  // 종속성을 사용할 수 있는지 확인합니다.
  //
  // 선택사항. 기본값: func(c *fiber.Ctx) bool { return true }
  ReadinessProbe HealthChecker

  // Readiness Probe가 사용 가능한 HTTP 엔드포인트입니다.
  // 
  // 선택사항. 기본값: "/readyz"
  ReadinessEndpoint string
}

Default Config

이 미들웨어에서 사용하는 기본 구성은 다음과 같이 정의됩니다:

func defaultLivenessProbe(*fiber.Ctx) bool { return true }
func defaultReadinessProbe(*fiber.Ctx) bool { return true }

var ConfigDefault = Config{
  LivenessProbe: defaultLivenessProbe,
  ReadinessProbe: defaultReadinessProbe,
  LivenessEndpoint: "/livez",
  ReadinessEndpoint: "/readyz",
}

웹 프레임워크의 일부인 미들웨어 패키지를 가져옵니다.

앱을 초기화한 후, 다음과 같은 가능성을 사용할 수 있습니다:

🏠
📁
🧬
Fiber
Fiber
Fiber