FastAPI Backend Development Bootcamp · 강의

서비스 검색과 상태 확인

마이크로서비스가 서로를 동적으로 찾는 방식과 상태 확인을 통해 정상 인스턴스로만 트래픽이 흐르게 하는 방법을 배웁니다.

레슨 4/413개 단계

서비스 검색과 상태 확인은(는) CoddyKit의 무료 FastAPI Backend Development Bootcamp 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 FastAPI Backend Development Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. FastAPI Backend Development Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

The Discovery Problem

In a microservices system, instances start, stop, and move across hosts constantly. Hardcoding IP addresses breaks immediately.

Service discovery lets a service find healthy instances of another service by name at runtime.

Client-Side vs Server-Side

Two patterns exist:

  • Client-side: the caller queries a registry and picks an instance
  • Server-side: a load balancer or gateway resolves the name and forwards the request

Service Registries

A registry stores live instances. Popular options include Consul, etcd, and Kubernetes DNS.

Services register on startup and deregister on shutdown.

Registering a Service

On boot, a service announces its address to the registry.

import httpx

async def register():
    await httpx.AsyncClient().put(
        "http://consul:8500/v1/agent/service/register",
        json={"Name": "orders", "Address": "10.0.0.5", "Port": 8000})

Why Health Checks Matter

A registered instance might still be broken. Health checks ensure the registry only routes to instances that are actually able to serve requests.

A FastAPI Health Endpoint

Expose a lightweight endpoint that returns quickly when the service is healthy.

from fastapi import FastAPI

app = FastAPI()

@app.get("/health")
def health():
    return {"status": "ok"}

Liveness vs Readiness

Two distinct checks:

  • Liveness: is the process alive? If not, restart it.
  • Readiness: can it serve traffic now with DB connected and caches warm? If not, hold traffic.

A Readiness Check

Readiness verifies downstream dependencies before accepting traffic.

from fastapi import Response, status

@app.get("/ready")
async def ready(response: Response):
    if not await db_is_up():
        response.status_code = status.HTTP_503_SERVICE_UNAVAILABLE
        return {"ready": False}
    return {"ready": True}

Kubernetes Probes

Kubernetes uses these endpoints as probes to manage pods automatically.

livenessProbe:
  httpGet:
    path: /health
    port: 8000
readinessProbe:
  httpGet:
    path: /ready
    port: 8000

Graceful Deregistration

On shutdown, deregister so callers stop routing to a dying instance, and finish in-flight requests first.

@app.on_event("shutdown")
async def shutdown():
    await deregister_from_registry()

TTL and Stale Entries

Registry entries usually carry a TTL. If a service stops sending heartbeats, its entry expires automatically so callers stop routing to a dead instance.

Quick Check

Test your discovery knowledge.

Recap

You learned how services find and trust each other:

  • Service discovery resolves services by name via a registry
  • Health checks ensure only healthy instances get traffic
  • Liveness restarts, readiness gates traffic

Together they keep a dynamic microservices system resilient.

무료로 시작

AI 튜터와 함께 FastAPI Backend Development Bootcamp을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
21
레슨
84

자주 묻는 질문

“서비스 검색과 상태 확인” 강의는 무료인가요?

네 — “서비스 검색과 상태 확인” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 FastAPI Backend Development Bootcamp 강의 전체를 잠금 해제할 수 있습니다. FastAPI Backend Development Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“서비스 검색과 상태 확인”에서 뭘 배우나요?

마이크로서비스가 서로를 동적으로 찾는 방식과 상태 확인을 통해 정상 인스턴스로만 트래픽이 흐르게 하는 방법을 배웁니다. 브라우저에서 직접 실행하는 실습 코드로 FastAPI Backend Development Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

FastAPI Backend Development Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 FastAPI Backend Development Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“서비스 검색과 상태 확인” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 FastAPI Backend Development Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 FastAPI Backend Development Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 마이크로서비스 아키텍처 설계
  2. 서비스 간 통신
  3. FastAPI로 API 게이트웨이 구현
  4. 서비스 검색과 상태 확인
← FastAPI Backend Development Bootcamp(으)로 돌아가기