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=truenode.role.qapu.kafka=truenode.role.qapu.postgres=truenode.role.qapu.redis=truenode.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 >= 2olan servisler icin update strategystart-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