Dağıtık bir sistemde ağ kesintilerinin kaçınılmaz olduğu, Eric Brewer'ın 2000'de formüle edip Gilbert ve Lynch'in 2002'de kanıtladığı CAP teoreminde kabul edilir: tutarlılık (Consistency), erişilebilirlik (Availability) ve bölünme toleransı (Partition tolerance) üçlüsünden, ağ bölünmesi sırasında en fazla ikisi aynı anda korunabilir. Saha IoT cihazları, bölünme kaçınılmaz olduğu için tipik olarak availability + partition tolerance seçer ve sonradan tutarlı (eventually consistent) bir veri modeline yönelir.
Edge computing vs cloud-only
İki uç mimari arasında geniş bir tasarım yelpazesi vardır:
- Cloud-only: Cihaz yalnızca ölçüm ve aktüasyondan sorumludur, tüm karar bulutta verilir. Geliştirme kolay, ancak ağ kesildiğinde sistem işlevsiz kalır.
- Edge-first / fog computing: Kritik kararlar cihazda alınır, bulut analitik ve uzun dönem optimizasyon için kullanılır. NIST SP 500-325 bu mimariyi fog reference architecture olarak tanımlar.
- Hibrit / hierarchical: Yerel kontrol kuralları cihazda, ağır model çıkarımı bulutta; ortada bir gateway cache görevi görür.
Sulama, endüstriyel tahrik veya enerji yönetimi gibi fiziksel süreklilik gerektiren uygulamalarda edge-first yaklaşım pratikte zorunludur.
Store-and-forward telemetri
Bağlantı kesildiğinde üretilen telemetri verisinin kaybolmaması için cihaz, yerel kalıcı belleğine yazar ve bağlantı geri geldiğinde sırasıyla iletir. Tipik veri yapıları:
- Halka tampon (ring/circular buffer): Sabit boyutlu; en eski kayıt, en yeni kayıtla üzerine yazılır. Gömülü sistemlerde kanonik çözüm.
- Append-only log (write-ahead log, WAL): Güç kesintisinde dahi tutarlılığı koruyan kayıt yapısı.
- Kuyruk (FIFO queue): Mesajların sırasını korur; MQTT QoS 1/2 gibi protokollerde kalıcı oturum desteğiyle birleştirilir.
Her kaydın bir monoton zaman damgası ve tercihen idempotency anahtarı taşıması, geri yüklerken çift-işleme (double processing) sorununu engeller.
Zaman tutarlılığı: RTC ve NTP
Zaman damgalarının doğruluğu, çevrimdışı bir cihazda kritiktir. Donanımsal RTC (Real-Time Clock) chip'leri (örn. DS3231, MCP7940) tipik ±2 ppm ve ±5 ppm doğruluk sunar — bu yıllık 1–3 dakikaya tekabül eder. Pil yedeklemesi (CR2032 veya süper kapasitör) elektrik kesintisinde saatin sıfırlanmasını önler. Bağlantı geri geldiğinde NTP (RFC 5905) veya SNTP ile kayma düzeltilir; kritik sistemlerde GNSS tabanlı zaman senkronizasyonu kullanılır.
Watchdog ve kurtarma
Gömülü sistemlerde yazılım hatasının (sonsuz döngü, bellek bozulması) sahada birinin müdahalesi olmadan giderilmesi için watchdog timer kullanılır. Donanımsal watchdog, periyodik olarak "kicked" edilmediğinde MCU'yu yeniden başlatır. Tamamlayıcı yöntemler:
- Brown-out detection: Voltaj eşiği altında düştüğünde temiz reset.
- Battery-backed RAM / FRAM: Reset sonrası state'in korunması.
- Persistent state journaling: Hangi vananın açık kaldığı, sayaç değerleri gibi bilgilerin atomik yazımı.
- Crash-safe filesystem: LittleFS, SPIFFS gibi güç kesintisine dayanıklı dosya sistemleri.