Mimari Taslak: Mekanlar İçin Düşük Gecikmeli Analitik

Canlı bir etkinlikte 20.000 kişinin verisini yönetmek, bir web uygulaması geliştirmeye benzemez.

Web uygulamalarında kullanıcılar farklı zaman dilimlerine yayılır. Büyük mekanlarda ise binlerce insan aynı anda devasa veri patlamaları yaratır. Sabah yoğun saatleri standart bir sistemi felç edebilir.

Eğer toplu işleme (batch processing) veya uzun süreli sorgulama (long-polling) kullanırsanız, verileriniz geç gelir. Kalabalık kontrolünde 15 dakikalık bir gecikme başarısızlıktır. Kalabalık darboğazını ancak oluştuktan sonra görebilirsiniz.

Saniyenin altında güncellemeler yapmanız gerekir. Uç birimden (edge) kontrol panelinize (dashboard) kadar uzanan bir akış hattı (streaming pipeline) kurmalısınız.

İhtiyacınız olan mimari şöyledir:

  1. Uç Katman (Ingestion) Her girişe endüstriyel bir uç düğümü (edge node) yerleştirin. Bunu seri veri yolu (serial bus) üzerinden RFID okuyuculara bağlayın.

Anlık kararlar için buluta güvenmeyin. Uç düğüm üzerinde Redis gibi yerel bir bellek içi (in-memory) veritabanı kullanın. Bu, sistemin izinleri 5 ms'nin altında kontrol etmesini sağlar. Mekan interneti kesilse bile kapılar çalışmaya devam eder.

  1. Taşıma Katmanı (MQTT) Uç donanımlar için HTTP REST uç noktalarını (endpoints) kullanmayı bırakın. HTTP, binlerce küçük tarama için çok fazla ek yük (overhead) oluşturur.

Bunun yerine MQTT kullanın. Minimum paket boyutu kullanır ve kalıcı bir bağlantı sağlar. Bu, mekanın istikrarsız ağlarında bile çalışır. Uç düğümler, sıkıştırılmış verileri bir bulut aracıya (cloud broker) iletir. Aracı, bu olayları anında işleyicilerinize (workers) yönlendirir.

  1. Görsel Katman (WebSockets) Operasyon ekibinizin değişiklikleri gerçekleştiği anda görmesi gerekir. Tarayıcının güncellemeleri API üzerinden istemesine izin vermeyin.

Tam çift yönlü (full-duplex) bir bağlantı için WebSockets kullanın. Bu, verileri anında kontrol paneline iletir. Bir salon çok kalabalıklaştığında, ekip bunu bir saniyeden kısa sürede görür. Ardından akışı düzeltmek için personeli yönlendirebilir veya dijital tabelaları güncelleyebilirler.

Teknoloji yığınının özeti:

  • Edge: Yerel Redis + Endüstriyel PC
  • Transport: MQTT (EMQX veya HiveMQ)
  • Frontend: Gerçek zamanlı UI için WebSockets

IoT kurulumlarınızda yoğun kalabalık verilerini nasıl yönetiyorsunuz? Altyapıyı aşağıda tartışalım.

Kaynak: https://dev.to/stampiq/architectural-blueprint-building-a-low-latency-analytics-pipeline-for-high-capacity-physical-venues-14m6