Skip to Content
MimariMesaj Aracısı (WAMP)

Mesaj Aracısı (WAMP)

WAMP mesaj aracısı, IronFlock’un iletişim omurgasıdır. Her bileşen — kenar cihazlar, merkezi hizmetler, sanal cihazlar, AI sistemi ve web UI — aracıya bağlanır ve onun aracılığıyla iletişim kurar.

Neden WAMP

WAMP (Web Application Messaging Protocol), tek bir protokolde iki iletişim modelini birleştirir:

  • Yayınla/Abone Ol (pub/sub) — Bir cihaz sensör verilerini bir konuya yayınlar; gösterge panelleri, FleetDB Hizmeti ve alarm değerlendiricileri abone olur ve gerçek zamanlı olarak alır
  • Uzak Prosedür Çağrıları (RPC) — AI hizmeti bir kenar cihazdaki işlevi çağırır; arka uç bir OTA güncellemesini tetikler; bir operatör bir makineye komut gönderir

Bu çift model, IronFlock’un gerçek zamanlı veri akışı ve istek-yanıt işlemleri için ayrı sistemlere ihtiyaç duymaması anlamına gelir. Tek protokol, tek bağlantı, her iki model de mevcut.

Bileşenler Nasıl Bağlanır

┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Edge │ │ Virtual │ │ Web UI │ │ Device │ │ Device │ │ (Browser) │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ WSS │ WSS │ WSS └────────────────────┼────────────────────┘ ┌───────┴───────┐ │ WAMP Broker │ └───────┬───────┘ ┌────────────────────┼────────────────────┐ │ WSS │ WSS │ WSS ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │ Backend │ │ FleetDB │ │ AI │ │ Service │ │ Service │ │ Service │ └──────────────┘ └──────────────┘ └──────────────┘

Tüm bağlantılar WSS (WebSocket Secure) kullanır — TLS üzerinden şifreli, kalıcı, çift yönlü bağlantılar.

Alanlar Aracılığıyla Proje İzolasyonu

Aracı, WAMP alanları kullanarak projeler arasında katı izolasyon uygular:

  • Her proje-uygulama kombinasyonu kendi alanını alır — tamamen izole edilmiş bir mesajlaşma ad alanı
  • Bir alanda yayınlanan mesajlar diğer tüm alanlar için görünmezdir
  • A Projesindeki cihazlar, B Projesindeki cihazları göremez veya onlarla etkileşime giremez
  • İki farklı projede kurulu aynı uygulama bile ayrı alanlarda çalışır

Kimlik Doğrulama

Aracıya her bağlantı kimlik doğrulama gerektirir:

BileşenKimlik Doğrulama Yöntemi
Kenar cihazlarCihaz başına gizli anahtarlarla WAMP-CRA (Meydan Okuma-Yanıt)
Backend hizmetleriSistem kimlik bilgileriyle WAMP-CRA
Web UI istemcileriOIDC tabanlı oturum belirteçleri
AI hizmetiKapsamlı erişimle sistem kimlik bilgileri

Yetkisiz istemciler bir alana katılamazlar, konulara abone olamazlar veya prosedürleri çağıramazlar.

Gerçek Zamanlı Veri Akışı

Bir sensör okumasının bir cihazdan gösterge paneline nasıl aktığı:

  1. Cihaz uygulaması bir sensör değeri okur ve proje alanındaki bir WAMP konusuna yayınlar
  2. WAMP aracısı mesajı o alandaki tüm abonelere yönlendirir
  3. FleetDB Hizmeti mesajı alır, TimescaleDB’ye yazar ve alarm kurallarını değerlendirir
  4. Web UI aynı mesajı alır ve gösterge paneli grafiğini gerçek zamanlı olarak günceller

Bu akışın tamamı saniyenin altında gecikmeyle gerçekleşir — gösterge paneli, veriler gelir gelmez güncellenir.

Cihaz Kontrolü için RPC

Aracı ayrıca kenar cihazların doğrudan kontrolünü de sağlar:

  1. Operatör web UI’da “Uygulamayı Yeniden Başlat” düğmesine tıklar
  2. Backend, aracı üzerinden cihaz ajanında bir RPC çağırır
  3. Cihaz ajanı çağrıyı alır, konteyneri yeniden başlatır ve sonucu döndürür
  4. Web UI onayı görüntüler

Aynı mekanizma fiziksel AI’ı güçlendirir — AI asistanı bir cihazdaki işlevi çağırdığında, bu aracı üzerinden gerçekleştirilen bir RPC çağrısıdır.

Ölçeklenebilirlik

WAMP aracısı, üretim dağıtımlarında bir küme olarak çalışır:

  • Birden fazla aracı düğümü eş zamanlı bağlantıları yönetir
  • Yük düğümler arasında dağıtılır
  • Cihazlar, arıza durumunda otomatik yeniden bağlanmayla kalıcı bağlantıları sürdürür
  • Aracı, düşük gecikmeli mesaj teslimiyle binlerce eş zamanlı cihaz bağlantısını yönetir

Yerinde Dağıtım

Yerinde dağıtımlarda, WAMP aracısı diğer merkezi hizmetlerin yanı sıra kendi altyapınızda çalışır. Protokol ve izolasyon garantileri aynı kalır — tek fark ağ yoludur (internet yerine yerel).

Ayrıntılar için Yerinde Dağıtım bölümüne bakın.

Last updated on