Hoşgeldin Misafir

MQTT ile IoT Mimarisi

By_Nimetullah

10 Şub 2023
1,718 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
MQTT ile IoT Mimarisi

Bu konumda, sizlere bir IoT projesinden edindigim tecrübeleri ve IoT mimarilerinde sikca kullanilan MQTT' yi anlatacagim.
Firsat buldukca Konuya eklemeler yapacagim. Ileride Arduino/Raspberry ve MQTT kullanarak kücük bir proje yapabiliriz. Simdilik ufak bir giris yapalim.

Simdi IoT diyince internete bagli, bant genisligi dar, sinirli kaynaklara sahip, veri alisverisi yapabilen elektronik parcaciklar aklimiza geliyor.
Genelde IoT'ler, Endüstriyel veya daha lüks segment olan "Smart Home" (akilli ev) ortamlarinda kullanilmaktadir.

Bir kac aydir, akilli evler icin uzaktan kontrol edilebilen "Zemin Isitma" sistemleri üzerine calismaktayim.
Proje bundan yaklasik 5-6 sene önce gelistirilmeye baslanmis ve maalesef vasifsiz yazilimcilarin gelecegi ve performansi düsünmeksizin gelilstirdigi proje bugün basimizi agritmakta.

Proje ilk gelistirildiginde yaklasik 150 (IoT modülüyle birlikte) Zemin Isitma sistemi satmis.

Isin kötü tarafi her bir IoT modülünün servera dogrudan, websocket ile bagli olmasi.
Her bir IoT'nin servera, dakikada 4 request (istek) attigini düsünürsek ileride ne olacagini tahmin etmek zor degil galiba.

Yillar gecer ve firma 4000+ Zemin Isitma sistemi daha satmistir.
IoT'lerin servera dogrudan bagli olmasinin sonuclari yavastan görünür olmaya baslamistir.
Dogrudan bagli olmasi, her bir requestin servera ulastiktan sonra cevap döndürülene kadar diger request'lerin bloke olmasi demek.

Düsünsenize 4000 IoT modülü var ve her dakika, IoT basina Servera 4 Request yapiliyor.
4000 x 4 = 16'000 Istek / Dakika
Yani bir saatte yaklasik (16'000 x 60) 960'000 Request geliyor. Adeta kendi serverlarimiza DDoS attack yapiyoruz.

Zamanla cihazlarin cogu server yükünden dolayi calismamaya baslar. Bundan dolayi yükü kaldirabilecek daha büyük Server ve Veritabani'na gecme karari alinir...

Daha güclü ve büyük serverlara gecmek basta dogru gibi gelebilir. Ama Yazilim Mimarinizin yanlissa, daha güclü serverlar isinizi görüyor olsada gereksizce cebinizi yakacaktir.
Aylik binlerce dollar'in, AWS API Gateway ve Veritabanina gittigini gördüm.

Halbuki IoT'leri dogrudan servera baglamak yerine MQTT & Queue (kuyruk) yardimi ile, serverin istek yükü ciddi bir sekilde azaltilabilirdi.
Bunun yani sira aylik binlerce dollari'da AWS'ye gömmek zorunda kalinmazdi.

luhx2bg.png