FastAPI Backend Development Bootcamp · Lekcja

Wykrywanie usług i kontrole kondycji

Dowiedz się, jak mikrousługi dynamicznie odnajdują się nawzajem oraz jak kontrole kondycji kierują ruch wyłącznie do zdrowych instancji.

Lekcja 4 z 413 kroki

Wykrywanie usług i kontrole kondycji to bezpłatna lekcja FastAPI Backend Development Bootcamp na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej FastAPI Backend Development Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs FastAPI Backend Development Bootcamp zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

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.

Bezpłatny start

Ucz się FastAPI Backend Development Bootcamp dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
21
Lekcje
84

Często zadawane pytania

Czy lekcja „Wykrywanie usług i kontrole kondycji” jest bezpłatna?

Tak — pełny tekst „Wykrywanie usług i kontrole kondycji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu FastAPI Backend Development Bootcamp, przejdź na CoddyKit PRO. Kurs FastAPI Backend Development Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Wykrywanie usług i kontrole kondycji”?

Dowiedz się, jak mikrousługi dynamicznie odnajdują się nawzajem oraz jak kontrole kondycji kierują ruch wyłącznie do zdrowych instancji. Ćwiczysz FastAPI Backend Development Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć FastAPI Backend Development Bootcamp?

Nie wymagamy żadnego doświadczenia. FastAPI Backend Development Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Wykrywanie usług i kontrole kondycji”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji FastAPI Backend Development Bootcamp?

Tak. Każda lekcja FastAPI Backend Development Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Projektowanie architektury mikrousług
  2. Komunikacja między usługami
  3. Implementacja API Gateway za pomocą FastAPI
  4. Wykrywanie usług i kontrole kondycji
← Powrót do FastAPI Backend Development Bootcamp