Ana içeriğe geç

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

  1. Stateless servisler ile stateful servisler ayni sekilde ele alinmaz.
  2. Overlay network'ler servis sinirlarini daha guvenli hale getirmek icin ayrilir.
  3. Secrets ve configs ayri kavramlar olarak yonetilir.
  4. Rolling update politikasi stateless ve stateful servisler icin farkli tanimlanir.
  5. 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.