Ana içeriğe geç

Node Rolleri ve Service Siniflari

Bu sayfa, Docker Swarm cluster'inda hangi node tiplerinin hangi sorumluluklari tasiyacagini aciklar.

Node Rolleri

Manager Node

Manager node'lar swarm kontrol duzlemini tasir.

Gorevleri:

  • scheduler ve orchestration
  • service state uzlasisi
  • secret/config metadata yonetimi
  • rollout ve rollback operasyonlari

Oneri:

  • production icin 3 manager tercih edilir
  • kucuk ortamlarda 1 manager ile baslanabilir
  • yogun stateful workload ayni node'da mecbur degilse manager uzerine bindirilmemelidir
  • stateful placement ana olarak label'li worker node'larda tutulmalidir

Worker Node

Worker node'lar application workload ve gerekiyorsa secili stateful servisleri calistirir.

Gorevleri:

  • stateless servis replica'larini barindirmak
  • placement constraint'e gore secili stateful servisleri calistirmak
  • overlay network uzerinden servisler arasi trafik tasimak

Stateful Node (Label Tabanli Rol)

Bu ayrik bir swarm rolunden cok, label/constraint tabanli deployment modelidir ve Qapu icin benimsenen stateful-on-swarm kararinin temelidir.

Ornek label'lar:

  • node.role.qapu.stateful=true
  • node.role.qapu.kafka=true
  • node.role.qapu.postgres=true
  • node.role.qapu.redis=true
  • node.role.qapu.storage=true

Bu model sayesinde stateful servisler yalniz uygun node'lara yerlestirilir ve rastgele scheduler karariyla yer degistirmez.

Service Siniflari

1. Core Stateless Pipeline Services

  • ingest
  • stream
  • calibration
  • raw-writer
  • synthesis
  • window
  • rule
  • action
  • communication
  • observer
  • automation
  • egress
  • heartbeat

Ortak deployment karakteri:

  • containerized
  • replica tabanli olceklenebilir
  • config/secrets ile calisir
  • local disk'e authoritative veri yazmaz

2. API ve Edge Services

  • api
  • reverse proxy
  • admin facade veya gateway katmani varsa o

Ortak deployment karakteri:

  • dis trafik alabilirler
  • ingress network ile iliskilidirler
  • rate-limit, auth, TLS sonlandirma gibi konularla daha fazla baglantilidirlar

3. Stateful Infrastructure Services

  • postgres
  • redis
  • kafka
  • firmware file storage

Ortak deployment karakteri:

  • persistence ister
  • placement constraint ister
  • update/rollback stratejisi daha kontrollu olur
  • backup/restore dokumani gerektirir

Onerilen Placement Mantigi

Stateless Servisler

  • worker node'larda coklu replica
  • replicas >= 2 olan servisler icin update strategy start-first
  • resource limit ve healthcheck zorunlu

Stateful Servisler

  • node label ile sinirlandirilmis deterministic placement
  • storage mount ve node affinity acik tanimli olmali
  • otomatik replica kavrami yalniz container sayisi ile degil, servis topolojisi ile ele alinmali
  • postgres tek authoritative primary olarak pinned node uzerinde kosmali
  • redis authoritative olmamasina ragmen rebuild/disposable mantikla ele alinmali
  • kafka broker'lari ayrik kimlik ve disk ile tek tek tanimlanmali

Not

Swarm deployment'ta ayni servis turu icin tek bir placement kuralina saplanmak dogru degildir. Qapu acisindan en saglikli model, servisleri semantic islevlerine gore degil runtime davranislarina gore siniflandirmaktir:

  • stateless
  • stateful
  • edge-facing
  • ops-critical