Ana içeriğe geç

Communication Deployment Contract

Bu sayfa, Qapu'nun cihaz downlink delivery truth katmani olan Communication servisinin Docker Swarm uzerindeki deployment contract'ini tanimlar.

Rol

Communication servisi:

  • gercek command dispatch/ack/fail semanticlerini tasir
  • Action, Automation ve API kaynakli command request'leri isler
  • device delivery truth'unun operasyonel owner'idir

Benimsenen Model

  • stateless deployment
  • replica tabanli olceklenme
  • internal-only service davranisi
  • qapu-app ve qapu-data network uyeligi

Placement

Communication worker node'larda replica olarak kosar.

Onerilen davranis:

  • replicas >= 2
  • healthcheck gate
  • command concurrency ve idempotency mantigi deployment'tan bagimsiz ama rollout'ta dikkate alinmali

Network

Tipik network uyeligi:

  • qapu-app
  • qapu-data

Dis dunyaya dogrudan acilmaz.

Secrets ve Configs

Secrets

  • db credential'lari
  • redis credential'lari
  • kafka credential'lari
  • downlink provider credential'lari varsa onlar

Configs

  • timeout ayarlari
  • retry tuning parametreleri
  • command delivery davranis ayarlari
  • provider endpoint bilgileri

Health ve Readiness

Communication icin process ayakta olmasi yeterli degildir.

Minimum readiness beklentisi:

  • command dictionary erisimi kurulabilmeli
  • kafka consume/publish icin gerekli baglam hazir olmali
  • downlink provider baglanti on kosullari saglanmis olmali

Update Stratejisi

Onerilen davranis:

  • rolling update
  • start-first
  • healthcheck gate
  • rollout sirasinda yarim kalan dispatch semantics icin idempotency mantigi korunmali

Operasyonel Not

Communication deployment contract'indaki en kritik nokta su degildir:

  • container ayakta mi?

Asil kritik nokta sudur:

  • delivery truth semantigi rollout sirasinda bozulmadan korunuyor mu?