Docker Swarm Genel Bakis
Bu sayfa, Qapu'nun Docker Swarm uzerinde nasil servislestirilecegine dair ust seviye deployment modelini tanimlar.
Neden Docker Swarm?
Docker Swarm secimi tipik olarak su ihtiyaclara cevap verir:
- tek host docker-compose seviyesinden cikmak
- servisleri replicali calistirmak
- rolling update ve rollback yapmak
- node bazli placement policy uygulamak
- secret ve config dagitimini merkezi yonetmek
- production deployment standardi olusturmak
Qapu Icin Benimsenen Cluster Gorunumu
Bu dokuman setinde benimsenen deployment karari:
- Qapu servisleri Docker Swarm uzerinde calisacaktir
- PostgreSQL, Redis ve Kafka da Swarm icinde containerized olarak konumlanacaktir
- stateful workload'lar label/constraint ile deterministic placement alacaktir
- stateless application servisleri replica tabanli dagitilacaktir
Onerilen minimum zihinsel model:
- 1 veya 3 manager node
- 2 veya daha fazla worker node
- stateful node label'lari ile ayrilmis kontrollu placement
- stateless application servisleri icin replica tabanli dagitim
Servis Kategorileri
Stateless Application Services
Bunlar tipik olarak replica ile olceklenebilen servislerdir:
- api
- ingest
- stream
- calibration
- raw-writer
- synthesis
- window
- rule
- action
- communication
- observer
- automation
- egress
- heartbeat
Stateful Infrastructure Services
Bunlar storage ve node kimligi daha hassas olan servislerdir:
- postgres
- redis
- kafka
- firmware file storage veya onu sunan servis katmani
Edge / Ops Services
- reverse proxy veya ingress gateway
- metrics/log toplama
- backup/restore araclari
- admin/ops tooling
Temel Deployment Ilkeleri
- Stateless servisler ile stateful servisler ayni sekilde ele alinmaz.
- Overlay network'ler servis sinirlarini daha guvenli hale getirmek icin ayrilir.
- Secrets ve configs ayri kavramlar olarak yonetilir.
- Rolling update politikasi stateless ve stateful servisler icin farkli tanimlanir.
- Persistent veri ihtiyaci olan servislerde storage karari deployment mimarisinin merkezi parcasidir.
En Kritik Gerilim Noktasi
Qapu icin karar verilmis model, stateful servisleri de Swarm icinde calistirmaktir. Bu nedenle en kritik tasarim konusu stateful-on-swarm disiplinidir.
Ozellikle su bilesenler ayri dikkat ister:
- PostgreSQL
- Kafka
- Redis
- firmware dosya depolama katmani
Bu nedenle Swarm deployment dokumani yalniz container listesi degil, ayni zamanda node placement, storage ve operasyon kararlari belgesi olarak gorulmelidir.