{"id":37517,"date":"2026-01-07T12:24:41","date_gmt":"2026-01-07T09:24:41","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/"},"modified":"2026-01-07T12:24:41","modified_gmt":"2026-01-07T09:24:41","slug":"iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/","title":{"rendered":"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?"},"content":{"rendered":"<p><title>Coreflux MQTT Broker&#8217;\u0131 MongoDB ile DigitalOcean&#8217;a Da\u011f\u0131tma<\/title><\/p>\n<p>IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker&#8217;\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean&#8217;\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<h2>IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla dijitalle\u015fen d\u00fcnyas\u0131nda, Nesnelerin \u0130nterneti (IoT) cihazlar\u0131 hayat\u0131m\u0131z\u0131n her k\u00f6\u015fesine n\u00fcfuz etmi\u015f durumda. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona, giyilebilir teknolojilerden ak\u0131ll\u0131 \u015fehirlere kadar geni\u015f bir yelpazede milyarlarca cihaz birbiriyle ve bulutla ileti\u015fim kuruyor. Bu devasa ekosistemde, cihazlar aras\u0131nda veri al\u0131\u015fveri\u015fini sa\u011flayan temel unsur, g\u00fcvenilir ve verimli bir mesajla\u015fma protokol\u00fcd\u00fcr. \u0130\u015fte tam da bu noktada MQTT (Message Queuing Telemetry Transport) devreye giriyor. MQTT, d\u00fc\u015f\u00fck bant geni\u015fli\u011fi ve y\u00fcksek gecikme s\u00fcrelerine sahip a\u011flarda bile g\u00fcvenilir mesajla\u015fmay\u0131 m\u00fcmk\u00fcn k\u0131lan, hafif ve a\u00e7\u0131k kaynakl\u0131 bir yay\u0131nla\/abone ol (publish\/subscribe) protokol\u00fcd\u00fcr. Ancak, yaln\u0131zca protokol yeterli de\u011fildir; bu mesajlar\u0131 i\u015fleyecek, depolayacak ve y\u00f6netebilecek g\u00fc\u00e7l\u00fc bir altyap\u0131ya ihtiya\u00e7 duyar\u0131z.<\/p>\n<p>IoT cihazlar\u0131ndan gelen veriler genellikle k\u00fc\u00e7\u00fck boyutlu, s\u00fcrekli ve y\u00fcksek hacimlidir. Bu verilerin ger\u00e7ek zamanl\u0131 olarak toplanmas\u0131, i\u015flenmesi ve analiz edilmesi, bir\u00e7ok kritik i\u015flev i\u00e7in hayati \u00f6nem ta\u015f\u0131r. \u00d6rne\u011fin, bir ak\u0131ll\u0131 fabrika ortam\u0131nda makine sens\u00f6rlerinden gelen s\u0131cakl\u0131k veya titre\u015fim verileri, potansiyel bir ar\u0131zay\u0131 \u00f6nceden tespit etmek i\u00e7in an\u0131nda i\u015flenmelidir. Benzer \u015fekilde, bir ak\u0131ll\u0131 \u015fehirdeki trafik sens\u00f6rlerinden gelen veriler, trafik ak\u0131\u015f\u0131n\u0131 optimize etmek ve acil durumlara h\u0131zl\u0131 yan\u0131t vermek i\u00e7in s\u00fcrekli olarak izlenmelidir. Bu senaryolarda veri b\u00fct\u00fcnl\u00fc\u011f\u00fc, d\u00fc\u015f\u00fck gecikme s\u00fcresi ve sistemin \u00f6l\u00e7eklenebilirli\u011fi vazge\u00e7ilmezdir. Geleneksel sunucu-istemci mimarileri, bu t\u00fcr dinamik ve y\u00fcksek hacimli veri ak\u0131\u015flar\u0131n\u0131 y\u00f6netmekte zorlanabilir. Bu nedenle, Coreflux gibi \u00f6zel olarak IoT ve ger\u00e7ek zamanl\u0131 mesajla\u015fma i\u00e7in tasarlanm\u0131\u015f bir MQTT Broker&#8217;a ve bu verileri esnek bir \u015fekilde depolayacak MongoDB gibi modern bir veritaban\u0131na ihtiya\u00e7 duyar\u0131z.<\/p>\n<p>Coreflux MQTT Broker, y\u00fcksek performans ve esneklik sunarak IoT cihazlar\u0131n\u0131zdan gelen mesajlar\u0131 etkili bir \u015fekilde y\u00f6netmenizi sa\u011flar. Geli\u015fmi\u015f \u00f6zellikleri sayesinde, mesajlar\u0131n g\u00fcvenilir bir \u015fekilde iletilmesini, kimlik do\u011frulama ve yetkilendirme mekanizmalar\u0131yla g\u00fcvenli bir ileti\u015fim ortam\u0131 olu\u015fturulmas\u0131n\u0131 ve hatta mesajlar\u0131n kal\u0131c\u0131l\u0131\u011f\u0131n\u0131 (persistent sessions) garanti eder. Bu, cihazlar\u0131n \u00e7evrimd\u0131\u015f\u0131 olmas\u0131 durumunda bile \u00f6nemli verilerin kaybolmamas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, Coreflux&#8217;un geni\u015fletilebilir yap\u0131s\u0131, farkl\u0131 veritabanlar\u0131 ve hizmetlerle kolayca entegre olmas\u0131na olanak tan\u0131r. \u0130\u015fte bu noktada MongoDB, Coreflux ile kusursuz bir uyum sa\u011flar. MongoDB&#8217;nin belge tabanl\u0131 yap\u0131s\u0131, IoT verilerinin genellikle d\u00fczensiz ve \u015femas\u0131z olabilen yap\u0131s\u0131na m\u00fckemmel bir \u015fekilde uyum sa\u011flar. Sens\u00f6rlerden gelen farkl\u0131 t\u00fcrdeki verileri tek bir koleksiyonda esnek bir \u015fekilde depolayabilir, zaman serisi verilerini verimli bir \u015fekilde y\u00f6netebilir ve yatay \u00f6l\u00e7eklenebilirlik sayesinde artan veri y\u00fck\u00fcn\u00fc kolayca kar\u015f\u0131layabilirsiniz. DigitalOcean ise, bu g\u00fc\u00e7l\u00fc ikiliyi uygun maliyetli, y\u00f6netimi kolay ve performansl\u0131 bir bulut altyap\u0131s\u0131nda bar\u0131nd\u0131rmak i\u00e7in ideal bir platform sunar. Bu kombinasyon, IoT projeleriniz i\u00e7in sa\u011flam, g\u00fcvenilir ve gelece\u011fe haz\u0131r bir temel olu\u015fturur.<\/p>\n<h2>Coreflux MQTT Broker Nedir ve Veri Y\u00f6netiminde MongoDB Neden \u00d6nemlidir?<\/h2>\n<p>IoT ekosisteminin kalbinde yer alan mesajla\u015fma \u00e7\u00f6z\u00fcmleri, cihazlar aras\u0131ndaki ileti\u015fimi m\u00fcmk\u00fcn k\u0131lar. Coreflux MQTT Broker ve MongoDB, bu ileti\u015fimi hem verimli hem de g\u00fcvenilir k\u0131lmak i\u00e7in tasarlanm\u0131\u015f g\u00fc\u00e7l\u00fc ara\u00e7lard\u0131r. Gelin, bu iki teknolojinin temel \u00f6zelliklerine ve IoT projelerinizdeki kritik rollerini daha yak\u0131ndan inceleyelim.<\/p>\n<h3>Coreflux MQTT Broker&#8217;\u0131n Temel \u00d6zellikleri Nelerdir?<\/h3>\n<p>Coreflux, modern IoT uygulamalar\u0131n\u0131n ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak \u00fczere tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131, y\u00fcksek performansl\u0131 bir MQTT Broker&#8217;\u0131d\u0131r. Temel amac\u0131, milyarlarca cihaz aras\u0131nda g\u00fcvenilir ve d\u00fc\u015f\u00fck gecikmeli mesajla\u015fmay\u0131 sa\u011flamakt\u0131r. Coreflux&#8217;u di\u011fer MQTT Broker&#8217;lar\u0131ndan ay\u0131ran birka\u00e7 \u00f6nemli \u00f6zellik bulunmaktad\u0131r:<\/p>\n<ul>\n<li><strong>Y\u00fcksek Performans ve \u00d6l\u00e7eklenebilirlik:<\/strong> Coreflux, C# ve .NET teknolojileriyle geli\u015ftirilmi\u015ftir, bu da ona ola\u011fan\u00fcst\u00fc performans ve d\u00fc\u015f\u00fck kaynak t\u00fcketimi sa\u011flar. Y\u00fcksek mesaj hacimlerini kolayca i\u015fleyebilir ve yatay olarak \u00f6l\u00e7eklenebilir bir yap\u0131 sunar. Bu, binlerce hatta milyonlarca e\u015fzamanl\u0131 ba\u011flant\u0131y\u0131 y\u00f6netebilece\u011fi anlam\u0131na gelir.<\/li>\n<li><strong>Kalite Servis Seviyeleri (QoS):<\/strong> MQTT protokol\u00fcn\u00fcn temel \u00f6zelliklerinden biri olan QoS seviyeleri (QoS 0, 1, 2), Coreflux taraf\u0131ndan tam olarak desteklenir. Bu sayede mesajlar\u0131n teslimat garantisi, uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re ayarlanabilir. QoS 0, &#8220;en iyi \u00e7aba&#8221; ile teslimat sunarken, QoS 2 mesaj\u0131n kesinlikle bir kez teslim edilmesini garanti eder.<\/li>\n<li><strong>Kal\u0131c\u0131 Oturumlar (Persistent Sessions):<\/strong> Cihazlar\u0131n ba\u011flant\u0131s\u0131 koptu\u011funda, Coreflux bu oturumlar\u0131 ve ilgili abonelikleri kaydedebilir. Cihaz yeniden ba\u011fland\u0131\u011f\u0131nda, bekleyen mesajlar ve \u00f6nceki oturum durumu geri y\u00fcklenir. Bu \u00f6zellik, kritik IoT uygulamalar\u0131nda veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in hayati \u00f6neme sahiptir.<\/li>\n<li><strong>Eri\u015fim Kontrol Listeleri (ACL) ve Kimlik Do\u011frulama:<\/strong> G\u00fcvenlik, IoT&#8217;de en \u00f6nemli konulardan biridir. Coreflux, kullan\u0131c\u0131 ad\u0131\/parola tabanl\u0131 kimlik do\u011frulama ve topic bazl\u0131 eri\u015fim kontrol listeleri (ACL) ile g\u00fc\u00e7l\u00fc g\u00fcvenlik mekanizmalar\u0131 sunar. Bu sayede hangi kullan\u0131c\u0131n\u0131n hangi topic&#8217;e yay\u0131n yapabilece\u011fi veya abone olabilece\u011fi hassas bir \u015fekilde y\u00f6netilebilir.<\/li>\n<li><strong>K\u00f6pr\u00fcleme (Bridging) Yetenekleri:<\/strong> Coreflux, di\u011fer MQTT Broker&#8217;lar\u0131yla k\u00f6pr\u00fc kurarak mesajlar\u0131 farkl\u0131 a\u011flar veya bulut ortamlar\u0131 aras\u0131nda iletebilir. Bu, karma\u015f\u0131k ve da\u011f\u0131t\u0131k IoT mimarileri olu\u015fturmak i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><strong>Geni\u015fletilebilirlik ve Eklenti Deste\u011fi:<\/strong> Coreflux&#8217;un mod\u00fcler yap\u0131s\u0131, \u00e7e\u015fitli veritabanlar\u0131, harici sistemler veya \u00f6zel i\u015f mant\u0131\u011f\u0131 ile entegrasyonu kolayla\u015ft\u0131ran eklentilerin geli\u015ftirilmesine olanak tan\u0131r. MongoDB entegrasyonu da bu geni\u015fletilebilirlik sayesinde m\u00fcmk\u00fcn olmaktad\u0131r.<\/li>\n<\/ul>\n<div class=\"expert-tip\">Uzman \u0130pucu: Coreflux&#8217;un a\u00e7\u0131k kaynak kodlu olmas\u0131, projenizin \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re \u00f6zelle\u015ftirmeler yapman\u0131za veya toplulu\u011fun geli\u015ftirdi\u011fi eklentilerden faydalanman\u0131za olanak tan\u0131r. Performans kritik uygulamalar i\u00e7in C# tabanl\u0131 yap\u0131s\u0131, d\u00fc\u015f\u00fck gecikme s\u00fcreleri sunar.<\/div>\n<h3>MongoDB ile \u0130li\u015fkisel Olmayan Veri Y\u00f6netiminin Avantajlar\u0131 Nelerdir?<\/h3>\n<p>IoT cihazlar\u0131ndan gelen veriler, geleneksel ili\u015fkisel veritaban\u0131 modelleri i\u00e7in bazen zorlay\u0131c\u0131 olabilir. Sens\u00f6r verileri genellikle yar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015f veya yap\u0131land\u0131r\u0131lmam\u0131\u015f olup, zamanla de\u011fi\u015fen \u015femalara sahip olabilir. \u0130\u015fte bu noktada MongoDB gibi NoSQL (ili\u015fkisel olmayan) bir veritaban\u0131 devreye girer ve IoT veri y\u00f6netimi i\u00e7in bir\u00e7ok avantaj sunar:<\/p>\n<ul>\n<li><strong>Belge Tabanl\u0131 Yap\u0131:<\/strong> MongoDB, verileri JSON benzeri BSON (Binary JSON) belgeler olarak depolar. Bu, IoT cihazlar\u0131ndan gelen karma\u015f\u0131k ve hiyerar\u015fik verileri do\u011fal bir \u015fekilde saklamay\u0131 kolayla\u015ft\u0131r\u0131r. Her belge, kendi i\u00e7inde farkl\u0131 alanlara sahip olabilir, bu da \u015fema esnekli\u011fi sa\u011flar.<\/li>\n<li><strong>\u015eema Esnekli\u011fi:<\/strong> \u0130li\u015fkisel veritabanlar\u0131n\u0131n aksine, MongoDB&#8217;de \u00f6nceden tan\u0131mlanm\u0131\u015f kat\u0131 bir \u015femaya ihtiya\u00e7 duyulmaz. Bu, farkl\u0131 sens\u00f6rlerden gelen farkl\u0131 veri t\u00fcrlerini ayn\u0131 koleksiyonda depolayabilece\u011finiz anlam\u0131na gelir. Yeni bir sens\u00f6r eklendi\u011finde veya mevcut bir sens\u00f6r\u00fcn veri format\u0131 de\u011fi\u015fti\u011finde, veritaban\u0131 \u015femas\u0131n\u0131 de\u011fi\u015ftirmeye gerek kalmaz. Bu esneklik, h\u0131zl\u0131 prototipleme ve evrimle\u015fen IoT projeleri i\u00e7in paha bi\u00e7ilmezdir.<\/li>\n<li><strong>Yatay \u00d6l\u00e7eklenebilirlik:<\/strong> MongoDB, yatay \u00f6l\u00e7eklenebilirlik (sharding) i\u00e7in tasarlanm\u0131\u015ft\u0131r. Veri hacmi artt\u0131\u011f\u0131nda, veritaban\u0131n\u0131 birden fazla sunucuya (shard) da\u011f\u0131tarak performans\u0131 ve depolama kapasitesini art\u0131rabilirsiniz. Bu, milyarlarca IoT mesaj\u0131n\u0131 ve terabaytlarca veriyi y\u00f6netmek i\u00e7in kritik bir \u00f6zelliktir.<\/li>\n<li><strong>Y\u00fcksek Performans:<\/strong> MongoDB, b\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde h\u0131zl\u0131 okuma ve yazma i\u015flemleri sunar. \u00d6zellikle zaman serisi verileri i\u00e7in optimize edilmi\u015f indeksleme stratejileri ve koleksiyon t\u00fcrleri (\u00f6rne\u011fin, zaman serisi koleksiyonlar\u0131), IoT verilerinin verimli bir \u015fekilde depolanmas\u0131n\u0131 ve sorgulanmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Zengin Sorgu Dili:<\/strong> MongoDB&#8217;nin sorgu dili, karma\u015f\u0131k veri analizleri yapman\u0131za olanak tan\u0131r. Agregasyon \u00e7er\u00e7evesi (Aggregation Framework) sayesinde, IoT verileri \u00fczerinde ortalama alma, gruplama, filtreleme gibi geli\u015fmi\u015f analizler ger\u00e7ekle\u015ftirebilirsiniz.<\/li>\n<\/ul>\n<p>Coreflux MQTT Broker ile MongoDB&#8217;nin entegrasyonu, IoT mesajlar\u0131n\u0131n g\u00fcvenilir bir \u015fekilde al\u0131nmas\u0131n\u0131 ve kal\u0131c\u0131 olarak depolanmas\u0131n\u0131 sa\u011flar. Coreflux, gelen mesajlar\u0131 do\u011frudan MongoDB&#8217;ye yazabilir, b\u00f6ylece mesaj kayb\u0131 riski ortadan kalkar ve ge\u00e7mi\u015f verilere kolayca eri\u015filebilir hale gelir. Bu entegrasyon, ger\u00e7ek zamanl\u0131 izleme, ge\u00e7mi\u015f veri analizi, kestirimci bak\u0131m ve i\u015f zekas\u0131 uygulamalar\u0131 i\u00e7in sa\u011flam bir temel olu\u015fturur. \u00d6rne\u011fin, bir ak\u0131ll\u0131 enerji y\u00f6netim sisteminde sens\u00f6rlerden gelen elektrik t\u00fcketim verileri Coreflux \u00fczerinden al\u0131n\u0131r ve MongoDB&#8217;ye kaydedilir. Daha sonra bu veriler, enerji kullan\u0131m modellerini analiz etmek ve optimizasyon \u00f6nerileri sunmak i\u00e7in kullan\u0131labilir.<\/p>\n<h2>DigitalOcean \u00dczerinde Bulut Altyap\u0131s\u0131 Kurulumu Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>Coreflux MQTT Broker ve MongoDB&#8217;yi da\u011f\u0131tmak i\u00e7in sa\u011flam ve uygun maliyetli bir bulut altyap\u0131s\u0131na ihtiyac\u0131m\u0131z var. DigitalOcean, kullan\u0131m kolayl\u0131\u011f\u0131, uygun fiyatland\u0131rmas\u0131 ve geli\u015ftirici dostu \u00f6zellikleriyle bu ama\u00e7 i\u00e7in m\u00fckemmel bir se\u00e7imdir. Bu b\u00f6l\u00fcmde, DigitalOcean \u00fczerinde sunucumuzu (Droplet) nas\u0131l haz\u0131rlayaca\u011f\u0131m\u0131z\u0131 ve temel g\u00fcvenlik ayarlar\u0131n\u0131 nas\u0131l yapaca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h3>DigitalOcean Hesab\u0131 Olu\u015fturma ve Droplet Haz\u0131rl\u0131\u011f\u0131 Ad\u0131mlar\u0131 Nelerdir?<\/h3>\n<p>E\u011fer hen\u00fcz bir DigitalOcean hesab\u0131n\u0131z yoksa, ilk ad\u0131m olarak bir hesap olu\u015fturman\u0131z gerekmektedir. DigitalOcean&#8217;\u0131n web sitesine gidin ve kay\u0131t i\u015flemlerini tamamlay\u0131n. Kay\u0131t olduktan sonra, kontrol panelinize eri\u015feceksiniz. \u015eimdi, Coreflux ve MongoDB&#8217;yi bar\u0131nd\u0131racak sunucumuzu (Droplet) olu\u015ftural\u0131m:<\/p>\n<ol>\n<li><strong>Yeni Proje Olu\u015fturma (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilen):<\/strong> B\u00fcy\u00fck projelerde kaynaklar\u0131n\u0131z\u0131 d\u00fczenli tutmak i\u00e7in &#8220;Projects&#8221; sekmesinden yeni bir proje olu\u015fturabilirsiniz. Bu, ilgili Droplet&#8217;leri, veritabanlar\u0131n\u0131 ve di\u011fer kaynaklar\u0131 tek bir yerde toplaman\u0131za yard\u0131mc\u0131 olur.<\/li>\n<li><strong>Droplet Olu\u015fturma:<\/strong> Kontrol panelinde &#8220;Create&#8221; butonuna t\u0131klay\u0131n ve &#8220;Droplets&#8221; se\u00e7ene\u011fini se\u00e7in.<\/li>\n<li><strong>\u0130\u015fletim Sistemi Se\u00e7imi:<\/strong> Kar\u015f\u0131n\u0131za \u00e7\u0131kan Droplet olu\u015fturma sayfas\u0131nda, i\u015fletim sistemi olarak genellikle en yayg\u0131n ve iyi desteklenen se\u00e7enek olan <strong>Ubuntu 22.04 LTS<\/strong>&#8216;i se\u00e7menizi \u00f6neririm. LTS (Long Term Support) s\u00fcr\u00fcmleri, uzun s\u00fcreli g\u00fcvenlik g\u00fcncellemeleri ve istikrar sunar.<\/li>\n<li><strong>Plan Se\u00e7imi:<\/strong> Droplet&#8217;inizin CPU, RAM ve depolama kapasitesini belirleyen bir plan se\u00e7meniz gerekecektir. Coreflux ve MongoDB ikilisi, \u00f6zellikle y\u00fcksek trafikli veya \u00e7ok fazla veri depolayan uygulamalar i\u00e7in biraz kaynak gerektirebilir. Ba\u015flang\u0131\u00e7 i\u00e7in, 2GB RAM ve 2 CPU&#8217;lu bir Droplet (\u00f6rne\u011fin, Basic Shared CPU plan\u0131nda 10-14$ civar\u0131) iyi bir ba\u015flang\u0131\u00e7 noktas\u0131 olabilir. Projenizin b\u00fcy\u00fckl\u00fc\u011f\u00fcne g\u00f6re bu plan\u0131 daha sonra kolayca y\u00fckseltebilirsiniz. SSD depolama, veritaban\u0131 performans\u0131 i\u00e7in kritik oldu\u011fundan, DigitalOcean&#8217;\u0131n t\u00fcm Droplet&#8217;lerinin SSD kullanmas\u0131 b\u00fcy\u00fck bir avantajd\u0131r.<\/li>\n<li><strong>Veritaban\u0131 Se\u00e7imi (Y\u00f6netilen Veritaban\u0131 De\u011fil):<\/strong> DigitalOcean, y\u00f6netilen MongoDB hizmetleri sunsa da, bu makalede MongoDB&#8217;yi Droplet \u00fczerine manuel olarak kuraca\u011f\u0131m\u0131z i\u00e7in &#8220;Choose a database&#8221; k\u0131sm\u0131n\u0131 atl\u0131yoruz.<\/li>\n<li><strong>Veri Merkezi B\u00f6lgesi Se\u00e7imi:<\/strong> Kullan\u0131c\u0131lar\u0131n\u0131z\u0131n veya IoT cihazlar\u0131n\u0131z\u0131n co\u011frafi konumuna en yak\u0131n veri merkezi b\u00f6lgesini se\u00e7in. Bu, gecikmeyi (latency) azalt\u0131r ve ileti\u015fimi h\u0131zland\u0131r\u0131r. \u00d6rne\u011fin, T\u00fcrkiye&#8217;den ba\u011flan\u0131yorsan\u0131z, Frankfurt veya Amsterdam gibi Avrupa b\u00f6lgeleri iyi bir tercih olabilir.<\/li>\n<li><strong>Kimlik Do\u011frulama:<\/strong> SSH anahtar\u0131 ile kimlik do\u011frulamay\u0131 kesinlikle tercih etmelisiniz. Bu, parolas\u0131z ve daha g\u00fcvenli bir ba\u011flant\u0131 y\u00f6ntemidir. E\u011fer daha \u00f6nce bir SSH anahtar\u0131 olu\u015fturmad\u0131ysan\u0131z, &#8220;New SSH Key&#8221; butonuna t\u0131klayarak yeni bir anahtar olu\u015fturabilir veya yerel makinenizde olu\u015fturdu\u011funuz anahtar\u0131n herkese a\u00e7\u0131k k\u0131sm\u0131n\u0131 (<code>~\/.ssh\/id_rsa.pub<\/code>) buraya yap\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<li><strong>Ek Se\u00e7enekler (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong>\n<ul>\n<li><strong>Monitoring:<\/strong> Performans izleme i\u00e7in \u00fccretsiz izleme \u00f6zelli\u011fini etkinle\u015ftirmenizi \u00f6neririm.<\/li>\n<li><strong>IPv6:<\/strong> Genellikle varsay\u0131lan olarak etkindir, b\u0131rakabilirsiniz.<\/li>\n<li><strong>User data:<\/strong> \u0130sterseniz Droplet ba\u015flat\u0131l\u0131rken \u00e7al\u0131\u015facak bir ba\u015flang\u0131\u00e7 beti\u011fi ekleyebilirsiniz. Ancak bu makale i\u00e7in buna gerek yok.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Hostname:<\/strong> Droplet&#8217;inize kolayca hat\u0131rlayabilece\u011finiz bir isim verin (\u00f6rne\u011fin, <code>coreflux-mongodb-server<\/code>).<\/li>\n<li><strong>Olu\u015fturma:<\/strong> T\u00fcm ayarlar\u0131 g\u00f6zden ge\u00e7irdikten sonra &#8220;Create Droplet&#8221; butonuna t\u0131klay\u0131n. Droplet&#8217;iniz birka\u00e7 dakika i\u00e7inde haz\u0131r olacakt\u0131r.<\/li>\n<\/ol>\n<h3>Temel Sistem G\u00fcncelle\u015ftirmeleri ve G\u00fcvenlik \u00d6nlemleri Nelerdir?<\/h3>\n<p>Droplet&#8217;iniz haz\u0131r oldu\u011funda, SSH \u00fczerinden ba\u011flanarak ilk yap\u0131land\u0131rma ve g\u00fcvenlik ad\u0131mlar\u0131n\u0131 ger\u00e7ekle\u015ftirmemiz gerekmektedir. SSH ile ba\u011flanmak i\u00e7in terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu kullan\u0131n (<code>your_droplet_ip<\/code> yerine Droplet&#8217;inizin IP adresini yaz\u0131n):<\/p>\n<pre><code class=\"language-bash\">\nssh root@your_droplet_ip\n<\/code><\/pre>\n<p>Ba\u011fland\u0131ktan sonra, sisteminizi g\u00fcncel tutmak ve temel g\u00fcvenlik \u00f6nlemlerini almak \u00f6nemlidir:<\/p>\n<ol>\n<li><strong>Sistem G\u00fcncelle\u015ftirmeleri:<\/strong> Paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltin. Bu, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve sistem kararl\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r.<\/li>\n<pre><code class=\"language-bash\">\nsudo apt update\nsudo apt upgrade -y\n<\/code><\/pre>\n<li><strong>Yeni Bir Kullan\u0131c\u0131 Olu\u015fturma:<\/strong> <code class=\"language-\">root<\/code> kullan\u0131c\u0131s\u0131 olarak s\u00fcrekli \u00e7al\u0131\u015fmak risklidir. Yeni bir standart kullan\u0131c\u0131 olu\u015fturup ona <code class=\"language-\">sudo<\/code> yetkileri vermelisiniz.<\/li>\n<pre><code class=\"language-bash\">\nsudo adduser your_username\nsudo usermod -aG sudo your_username\n<\/code><\/pre>\n<li><strong>SSH G\u00fcvenli\u011fi:<\/strong>\n<ul>\n<li><strong>Root Eri\u015fimi Kapatma:<\/strong> SSH servisi arac\u0131l\u0131\u011f\u0131yla <code class=\"language-\">root<\/code> kullan\u0131c\u0131s\u0131n\u0131n do\u011frudan giri\u015f yapmas\u0131n\u0131 engelleyin. Bunun yerine, olu\u015fturdu\u011funuz yeni kullan\u0131c\u0131 ile giri\u015f yap\u0131p <code class=\"language-\">sudo<\/code> kullanmal\u0131s\u0131n\u0131z.<\/li>\n<li><strong>Parola Kimlik Do\u011frulamay\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> SSH anahtarlar\u0131 ile ba\u011flan\u0131yorsan\u0131z, parola tabanl\u0131 kimlik do\u011frulamay\u0131 devre d\u0131\u015f\u0131 b\u0131rakarak g\u00fcvenli\u011fi art\u0131rabilirsiniz.<\/li>\n<\/ul>\n<p>Bu ayarlar\u0131 yapmak i\u00e7in SSH yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">\nsudo nano \/etc\/ssh\/sshd_config\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun ve d\u00fczenleyin veya ekleyin:<\/p>\n<pre><code class=\"language-ini\">\nPermitRootLogin no\nPasswordAuthentication no\n<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra SSH servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nsudo systemctl restart sshd\n<\/code><\/pre>\n<p>Yeni kullan\u0131c\u0131 hesab\u0131n\u0131zla ve SSH anahtar\u0131n\u0131zla yeni bir terminal penceresinden ba\u011flant\u0131 kurarak ayarlar\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test edin. E\u011fer sorunsuz ba\u011flanabiliyorsan\u0131z, <code class=\"language-\">root<\/code> oturumunuzu kapatabilirsiniz.<\/p>\n<\/li>\n<li><strong>G\u00fcvenlik Duvar\u0131 (UFW) Kurulumu ve Yap\u0131land\u0131rmas\u0131:<\/strong> Sunucunuzu d\u0131\u015far\u0131dan gelecek yetkisiz eri\u015fimlere kar\u015f\u0131 korumak i\u00e7in bir g\u00fcvenlik duvar\u0131 kurmak ve yap\u0131land\u0131rmak kritik \u00f6neme sahiptir. Ubuntu&#8217;da UFW (Uncomplicated Firewall) kullan\u0131m\u0131 olduk\u00e7a kolayd\u0131r.<\/li>\n<pre><code class=\"language-bash\">\nsudo apt install ufw -y\nsudo ufw allow OpenSSH\nsudo ufw allow 1883\/tcp  # MQTT varsay\u0131lan portu\nsudo ufw allow 8883\/tcp  # MQTTS (SSL\/TLS) portu\nsudo ufw allow 27017\/tcp # MongoDB varsay\u0131lan portu (sadece yerel eri\u015fim i\u00e7in, d\u0131\u015far\u0131ya a\u00e7may\u0131n!)\nsudo ufw enable\nsudo ufw status\n<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> MongoDB&#8217;nin 27017 portunu sadece Coreflux&#8217;un Droplet i\u00e7inde eri\u015fimi i\u00e7in a\u00e7t\u0131k. D\u0131\u015far\u0131dan bu porta eri\u015fimi kesinlikle engellemelisiniz, aksi takdirde veritaban\u0131n\u0131z g\u00fcvenlik riskleriyle kar\u015f\u0131 kar\u015f\u0131ya kalabilir. E\u011fer Coreflux ve MongoDB farkl\u0131 Droplet&#8217;lerde olsayd\u0131, 27017 portunu sadece Coreflux Droplet&#8217;inin IP adresine izin verecek \u015fekilde yap\u0131land\u0131rman\u0131z gerekirdi.<\/p>\n<\/ol>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, Coreflux ve MongoDB kurulumuna haz\u0131r, g\u00fcncel ve temel olarak g\u00fcvenli bir DigitalOcean Droplet&#8217;ine sahip olacaks\u0131n\u0131z.<\/p>\n<h2>Coreflux MQTT Broker ve MongoDB Entegrasyonu Ad\u0131m Ad\u0131m Nas\u0131l Ger\u00e7ekle\u015ftirilir?<\/h2>\n<p>DigitalOcean Droplet&#8217;imiz haz\u0131r ve temel g\u00fcvenlik ayarlar\u0131 yap\u0131ld\u0131. \u015eimdi s\u0131ra, Coreflux MQTT Broker&#8217;\u0131 ve MongoDB&#8217;yi kurmaya ve bunlar\u0131 birbirine entegre etmeye geldi. Bu b\u00f6l\u00fcm, her iki bile\u015feni de ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 g\u00f6sterecektir.<\/p>\n<h3>MongoDB Kurulumu ve Yap\u0131land\u0131rmas\u0131 Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>MongoDB&#8217;yi Droplet&#8217;inize kurmak i\u00e7in resmi MongoDB deposunu eklememiz ve ard\u0131ndan paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kurulumu ger\u00e7ekle\u015ftirmemiz gerekiyor. Bu, en g\u00fcncel ve kararl\u0131 s\u00fcr\u00fcm\u00fc alman\u0131z\u0131 sa\u011flar.<\/p>\n<ol>\n<li><strong>MongoDB Public GPG Anahtar\u0131n\u0131 \u0130\u00e7e Aktarma:<\/strong><\/li>\n<pre><code class=\"language-bash\">\nwget -qO - https:\/\/www.mongodb.org\/static\/pgp\/server-6.0.asc | sudo apt-key add -\n<\/code><\/pre>\n<li><strong>MongoDB Deposunu Olu\u015fturma:<\/strong><\/li>\n<pre><code class=\"language-bash\">\necho \"deb [ arch=amd64,arm64 ] https:\/\/repo.mongodb.org\/apt\/ubuntu focal\/mongodb-org\/6.0 multiverse\" | sudo tee \/etc\/apt\/sources.list.d\/mongodb-org-6.0.list\n<\/code><\/pre>\n<p><strong>Not:<\/strong> Yukar\u0131daki komut Ubuntu 20.04 (focal) i\u00e7indir. E\u011fer Ubuntu 22.04 (jammy) kullan\u0131yorsan\u0131z, <code>focal<\/code> yerine <code>jammy<\/code> yazman\u0131z gerekebilir. Ancak MongoDB 6.0 resmi olarak 22.04&#8217;\u00fc desteklemeyebilir; bu durumda <code>focal<\/code> deposunu kullanmak genellikle sorun yaratmaz veya daha g\u00fcncel bir MongoDB s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rn. 7.0) kontrol etmeniz gerekebilir. Bu rehber i\u00e7in 6.0&#8217;\u0131n <code>focal<\/code> ile uyumlu oldu\u011funu varsay\u0131yoruz.<\/p>\n<li><strong>Paket Listesini G\u00fcncelleme:<\/strong><\/li>\n<pre><code class=\"language-bash\">\nsudo apt update\n<\/code><\/pre>\n<li><strong>MongoDB Kurulumu:<\/strong><\/li>\n<pre><code class=\"language-bash\">\nsudo apt install -y mongodb-org\n<\/code><\/pre>\n<li><strong>MongoDB Servisini Ba\u015flatma ve Etkinle\u015ftirme:<\/strong> Kurulumdan sonra MongoDB servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin.<\/li>\n<pre><code class=\"language-bash\">\nsudo systemctl start mongod\nsudo systemctl enable mongod\nsudo systemctl status mongod\n<\/code><\/pre>\n<p><code>systemctl status mongod<\/code> komutunun \u00e7\u0131kt\u0131s\u0131nda &#8220;active (running)&#8221; g\u00f6rmelisiniz.<\/p>\n<li><strong>MongoDB G\u00fcvenli\u011fi (Kullan\u0131c\u0131 ve Rol Olu\u015fturma):<\/strong> Varsay\u0131lan olarak MongoDB, kimlik do\u011frulamas\u0131 olmadan \u00e7al\u0131\u015f\u0131r. Bu, \u00f6zellikle \u00fcretim ortamlar\u0131nda b\u00fcy\u00fck bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131d\u0131r. Coreflux&#8217;un veritaban\u0131na eri\u015febilmesi i\u00e7in bir kullan\u0131c\u0131 olu\u015fturmal\u0131 ve kimlik do\u011frulamay\u0131 etkinle\u015ftirmeliyiz.<\/li>\n<p>\u00d6nce MongoDB kabu\u011funa ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nmongosh\n<\/code><\/pre>\n<p>\u015eimdi bir y\u00f6netici kullan\u0131c\u0131 olu\u015fturun (kullan\u0131c\u0131 ad\u0131n\u0131 ve \u015fifresini g\u00fcvenli bir \u015fekilde saklay\u0131n):<\/p>\n<pre><code class=\"language-javascript\">\nuse admin\ndb.createUser(\n   {\n     user: \"adminUser\",\n     pwd: \"your_strong_admin_password\",\n     roles: [ { role: \"userAdminAnyDatabase\", db: \"admin\" }, \"readWriteAnyDatabase\" ]\n   }\n)\nexit\n<\/code><\/pre>\n<p>MongoDB&#8217;nin yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenleyerek kimlik do\u011frulamay\u0131 etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">\nsudo nano \/etc\/mongod.conf\n<\/code><\/pre>\n<p><code>security:<\/code> b\u00f6l\u00fcm\u00fcn\u00fc bulun ve a\u015fa\u011f\u0131daki gibi ayarlay\u0131n:<\/p>\n<pre><code class=\"language-yaml\">\n# security:\nsecurity:\n  authorization: enabled\n<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve MongoDB servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nsudo systemctl restart mongod\n<\/code><\/pre>\n<p>Art\u0131k Coreflux&#8217;un ba\u011flanaca\u011f\u0131 bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturabiliriz. \u00d6nce yeni olu\u015fturdu\u011fumuz y\u00f6netici kullan\u0131c\u0131 ile ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nmongosh -u adminUser -p --authenticationDatabase admin\n<\/code><\/pre>\n<p>\u015eifrenizi girdikten sonra, Coreflux i\u00e7in bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-javascript\">\nuse coreflux_db\ndb.createUser(\n   {\n     user: \"coreflux_user\",\n     pwd: \"your_strong_coreflux_password\",\n     roles: [ { role: \"readWrite\", db: \"coreflux_db\" } ]\n   }\n)\nexit\n<\/code><\/pre>\n<h3>Coreflux MQTT Broker Kurulumu ve MongoDB Ba\u011flant\u0131s\u0131 Nas\u0131l Sa\u011flan\u0131r?<\/h3>\n<p>Coreflux&#8217;u kurman\u0131n birka\u00e7 yolu vard\u0131r: kaynak koddan derlemek, Docker kullanmak veya \u00f6nceden derlenmi\u015f bir ikili dosyay\u0131 kullanmak. Bu rehberde, basitlik ad\u0131na \u00f6nceden derlenmi\u015f ikili dosyalar\u0131 veya resmi da\u011f\u0131t\u0131m y\u00f6ntemini kullanaca\u011f\u0131z.<\/p>\n<ol>\n<li><strong>.NET \u00c7al\u0131\u015fma Zaman\u0131 Ortam\u0131n\u0131 Kurma:<\/strong> Coreflux .NET \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, \u00f6ncelikle .NET Runtime&#8217;\u0131 kurman\u0131z gerekmektedir.<\/li>\n<pre><code class=\"language-bash\">\nsudo apt update\nsudo apt install -y dotnet-sdk-6.0 # Veya Coreflux'un gerektirdi\u011fi .NET s\u00fcr\u00fcm\u00fc\n<\/code><\/pre>\n<p><strong>Not:<\/strong> Coreflux&#8217;un g\u00fcncel s\u00fcr\u00fcm\u00fcn\u00fcn gerektirdi\u011fi .NET SDK s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin ve ona g\u00f6re kurulum yap\u0131n. Genellikle LTS s\u00fcr\u00fcmleri tercih edilir.<\/p>\n<li><strong>Coreflux&#8217;u \u0130ndirme ve Kurma:<\/strong> Coreflux&#8217;un GitHub deposundan en son s\u00fcr\u00fcm\u00fc indirebilir veya resmi web sitesindeki talimatlar\u0131 takip edebilirsiniz. Genellikle, belirli bir Linux da\u011f\u0131t\u0131m\u0131 i\u00e7in yay\u0131mlanm\u0131\u015f bir .tar.gz ar\u015fivi bulunur.<\/li>\n<pre><code class=\"language-bash\">\n# \u00d6rnek indirme ve \u00e7\u0131karma komutlar\u0131 (s\u00fcr\u00fcme g\u00f6re de\u011fi\u015febilir)\nwget https:\/\/github.com\/Coreflux\/Coreflux.Net\/releases\/download\/vX.X.X\/coreflux-linux-x64-vX.X.X.tar.gz\ntar -xvf coreflux-linux-x64-vX.X.X.tar.gz\nsudo mv coreflux-linux-x64-vX.X.X \/opt\/coreflux\ncd \/opt\/coreflux\n<\/code><\/pre>\n<p><code>vX.X.X<\/code> yerine g\u00fcncel s\u00fcr\u00fcm numaras\u0131n\u0131 yazmay\u0131 unutmay\u0131n.<\/p>\n<li><strong>Coreflux Yap\u0131land\u0131rmas\u0131 (MongoDB Ba\u011flant\u0131s\u0131):<\/strong> Coreflux&#8217;un ana yap\u0131land\u0131rma dosyas\u0131 genellikle <code>coreflux.conf<\/code> veya benzeri bir isimle bulunur. Bu dosyay\u0131 d\u00fczenleyerek MongoDB ba\u011flant\u0131 ayarlar\u0131n\u0131 yapmal\u0131y\u0131z.<\/li>\n<pre><code class=\"language-bash\">\nsudo nano \/opt\/coreflux\/coreflux.conf # Veya ilgili yap\u0131land\u0131rma dosyan\u0131z\u0131n yolu\n<\/code><\/pre>\n<p>MongoDB ba\u011flant\u0131s\u0131 i\u00e7in ilgili b\u00f6l\u00fcm\u00fc bulun veya ekleyin. Genellikle &#8220;Persistence&#8221; veya &#8220;Database&#8221; gibi bir b\u00f6l\u00fcm alt\u0131nda yer al\u0131r. A\u015fa\u011f\u0131daki gibi bir yap\u0131land\u0131rma eklemelisiniz:<\/p>\n<pre><code class=\"language-ini\">\n[Persistence]\nEnabled=true\nType=MongoDB\nConnectionString=mongodb:\/\/coreflux_user:your_strong_coreflux_password@127.0.0.1:27017\/coreflux_db?authSource=admin\nDatabaseName=coreflux_db\n<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><\/p>\n<ul>\n<li><code>ConnectionString<\/code>: MongoDB ba\u011flant\u0131 dizesi. <code>coreflux_user<\/code> ve <code>your_strong_coreflux_password<\/code> yerine kendi olu\u015fturdu\u011funuz bilgileri girin. <code>127.0.0.1<\/code>, MongoDB&#8217;nin ayn\u0131 Droplet \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 belirtir. <code>coreflux_db<\/code>, Coreflux&#8217;un kullanaca\u011f\u0131 veritaban\u0131 ad\u0131d\u0131r. <code>authSource=admin<\/code> ise kimlik do\u011frulaman\u0131n <code class=\"language-\">admin<\/code> veritaban\u0131nda yap\u0131laca\u011f\u0131n\u0131 belirtir.<\/li>\n<li><code>DatabaseName<\/code>: Coreflux&#8217;un kullanaca\u011f\u0131 veritaban\u0131n\u0131n ad\u0131n\u0131 tekrar belirtir.<\/li>\n<\/ul>\n<p>Di\u011fer Coreflux ayarlar\u0131n\u0131 (MQTT portlar\u0131, g\u00fcvenlik, vb.) da bu dosyada yapabilirsiniz. \u00d6rne\u011fin, varsay\u0131lan MQTT portlar\u0131 (1883, 8883) genellikle otomatik olarak gelir.<\/p>\n<li><strong>Coreflux Servisini Ba\u015flatma:<\/strong> Yap\u0131land\u0131rma tamamland\u0131ktan sonra Coreflux&#8217;u bir servis olarak \u00e7al\u0131\u015ft\u0131rmak en iyisidir. Bunun i\u00e7in bir <code>systemd<\/code> servis dosyas\u0131 olu\u015fturabiliriz.<\/p>\n<pre><code class=\"language-bash\">\nsudo nano \/etc\/systemd\/system\/coreflux.service\n<\/code><\/pre>\n<p>Dosya i\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r (<code>\/opt\/coreflux\/Coreflux.Net<\/code> yerine kendi y\u00fcr\u00fct\u00fclebilir dosyan\u0131z\u0131n yolunu yaz\u0131n):<\/p>\n<pre><code class=\"language-ini\">\n[Unit]\nDescription=Coreflux MQTT Broker\nAfter=network.target mongod.service\n\n[Service]\nExecStart=\/usr\/bin\/dotnet \/opt\/coreflux\/Coreflux.Net.dll # veya do\u011frudan \u00e7al\u0131\u015ft\u0131r\u0131labilir dosya yolu\nWorkingDirectory=\/opt\/coreflux\nRestart=always\nUser=your_username # Coreflux'u \u00e7al\u0131\u015ft\u0131rmak i\u00e7in olu\u015fturdu\u011funuz kullan\u0131c\u0131\nGroup=your_username\nEnvironment=ASPNETCORE_URLS=http:\/\/*:5000 # E\u011fer web aray\u00fcz\u00fc varsa\nStandardOutput=journal\nStandardError=journal\n\n[Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n<p>Servis dosyas\u0131n\u0131 kaydettikten sonra, <code>systemd<\/code>&#8216;yi g\u00fcncelleyin ve Coreflux servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nsudo systemctl daemon-reload\nsudo systemctl start coreflux\nsudo systemctl enable coreflux\nsudo systemctl status coreflux\n<\/code><\/pre>\n<p>Yine &#8220;active (running)&#8221; durumunu g\u00f6rmelisiniz.<\/p>\n<h3>Bir Test \u0130stemcisi ile Ba\u011flant\u0131 ve Mesajla\u015fma Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>Coreflux Broker&#8217;\u0131n\u0131z\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve MongoDB&#8217;ye veri yazd\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in basit bir MQTT istemcisi kullanabiliriz. <code>mosquitto-clients<\/code> paketi bu ama\u00e7 i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">\nsudo apt install -y mosquitto-clients\n<\/code><\/pre>\n<p>\u015eimdi, bir terminal penceresinde abone olun (abone olaca\u011f\u0131n\u0131z topic&#8217;i belirtin):<\/p>\n<pre><code class=\"language-bash\">\nmosquitto_sub -h your_droplet_ip -t \"test\/topic\" -u \"coreflux_user\" -P \"your_strong_coreflux_password\"\n<\/code><\/pre>\n<p>Ba\u015fka bir terminal penceresinde bir mesaj yay\u0131nlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nmosquitto_pub -h your_droplet_ip -t \"test\/topic\" -m \"Merhaba Coreflux!\" -u \"coreflux_user\" -P \"your_strong_coreflux_password\"\n<\/code><\/pre>\n<p>Abone olan terminalde &#8220;Merhaba Coreflux!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. Bu, MQTT broker&#8217;\u0131n\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>\u015eimdi, mesaj\u0131n MongoDB&#8217;ye kaydedilip kaydedilmedi\u011fini kontrol edelim. Droplet&#8217;inize SSH ile ba\u011flan\u0131p MongoDB kabu\u011funa girin (kimlik do\u011frulama ile):<\/p>\n<pre><code class=\"language-bash\">\nmongosh -u adminUser -p --authenticationDatabase admin\n<\/code><\/pre>\n<p>\u015eifrenizi girdikten sonra, Coreflux&#8217;un veritaban\u0131na ge\u00e7in ve mesajlar\u0131n\u0131z\u0131 i\u00e7eren koleksiyonu kontrol edin (Coreflux&#8217;un varsay\u0131lan olarak hangi koleksiyona yazd\u0131\u011f\u0131n\u0131 yap\u0131land\u0131rma dosyas\u0131ndan kontrol etmeniz gerekebilir, genellikle <code>coreflux_db<\/code> i\u00e7indeki <code>messages<\/code> veya benzeri bir koleksiyon olabilir):<\/p>\n<pre><code class=\"language-javascript\">\nuse coreflux_db\ndb.messages.find().pretty() \/\/ veya Coreflux'un kulland\u0131\u011f\u0131 koleksiyon ad\u0131\n<\/code><\/pre>\n<p>Yay\u0131nlad\u0131\u011f\u0131n\u0131z mesaj\u0131 i\u00e7eren bir belge g\u00f6rmelisiniz. Bu, Coreflux&#8217;un MongoDB ile ba\u015far\u0131l\u0131 bir \u015fekilde entegre oldu\u011funu ve mesajlar\u0131 kal\u0131c\u0131 olarak depolad\u0131\u011f\u0131n\u0131 do\u011frular. Art\u0131k IoT cihazlar\u0131n\u0131zdan gelen verileri g\u00fcvenle toplayabilir ve depolayabilirsiniz.<\/p>\n<h2>Performans Optimizasyonu ve G\u00fcvenlik \u0130pu\u00e7lar\u0131 Nelerdir?<\/h2>\n<p>Coreflux MQTT Broker ve MongoDB entegrasyonunuzu kurduktan sonra, sisteminizin performans\u0131n\u0131 optimize etmek ve g\u00fcvenli\u011fini sa\u011flamak kritik \u00f6neme sahiptir. \u00d6zellikle \u00fcretim ortamlar\u0131nda, bu ad\u0131mlar uygulaman\u0131z\u0131n kararl\u0131l\u0131\u011f\u0131n\u0131 ve veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc do\u011frudan etkileyecektir.<\/p>\n<h3>\u00d6l\u00e7eklenebilirlik ve Y\u00fcksek Eri\u015filebilirlik \u0130\u00e7in Stratejiler Nelerdir?<\/h3>\n<p>IoT projeleri genellikle zamanla b\u00fcy\u00fcr ve artan cihaz say\u0131s\u0131 ile mesaj hacmi, tek bir sunucunun kapasitesini a\u015fabilir. \u00d6l\u00e7eklenebilirlik ve y\u00fcksek eri\u015filebilirlik, sisteminizin kesintisiz \u00e7al\u0131\u015fmas\u0131n\u0131 garanti alt\u0131na almak i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<ol>\n<li><strong>DigitalOcean Load Balancer Kullan\u0131m\u0131:<\/strong>\n<p>Y\u00fcksek trafikli senaryolarda, tek bir Coreflux Broker&#8217;\u0131 darbo\u011faz olu\u015fturabilir. DigitalOcean Load Balancer (Y\u00fck Dengeleyici), gelen MQTT ba\u011flant\u0131lar\u0131n\u0131 birden fazla Coreflux Droplet&#8217;ine da\u011f\u0131tarak y\u00fck\u00fc dengelemenizi sa\u011flar. Bu, hem performans\u0131 art\u0131r\u0131r hem de bir Droplet&#8217;in \u00e7\u00f6kmesi durumunda di\u011fer Droplet&#8217;lerin hizmet vermeye devam etmesini sa\u011flayarak y\u00fcksek eri\u015filebilirlik sunar.<\/p>\n<ul>\n<li>Birden fazla Coreflux Droplet&#8217;i olu\u015fturun ve her birini ayr\u0131 ayr\u0131 yap\u0131land\u0131r\u0131n.<\/li>\n<li>DigitalOcean kontrol panelinden bir Load Balancer olu\u015fturun.<\/li>\n<li>Load Balancer&#8217;\u0131, MQTT portlar\u0131n\u0131 (1883, 8883) dinleyecek \u015fekilde yap\u0131land\u0131r\u0131n ve arka u\u00e7 havuzuna Coreflux Droplet&#8217;lerinizi ekleyin.<\/li>\n<li>Sa\u011fl\u0131k kontrolleri (health checks) ayarlayarak, \u00e7al\u0131\u015fmayan Droplet&#8217;lerin havuzdan otomatik olarak \u00e7\u0131kar\u0131lmas\u0131n\u0131 sa\u011flay\u0131n.<\/li>\n<\/ul>\n<div class=\"expert-tip\">Uzman \u0130pucu: Load Balancer kullan\u0131rken, MQTT&#8217;nin &#8220;persistent sessions&#8221; \u00f6zelli\u011fini korumak i\u00e7in &#8220;Sticky Sessions&#8221; \u00f6zelli\u011fini etkinle\u015ftirmeyi d\u00fc\u015f\u00fcnebilirsiniz. Ancak bu, y\u00fck dengelemenin etkinli\u011fini azaltabilir, bu nedenle uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re dikkatli bir denge kurmal\u0131s\u0131n\u0131z.<\/div>\n<\/li>\n<li><strong>MongoDB Replica Sets ve Sharding:<\/strong>\n<p>MongoDB&#8217;nin kendisi de \u00f6l\u00e7eklenebilirlik ve y\u00fcksek eri\u015filebilirlik i\u00e7in g\u00fc\u00e7l\u00fc mekanizmalar sunar:<\/p>\n<ul>\n<li><strong>Replica Sets (Kopya K\u00fcmeleri):<\/strong> Birincil bir sunucunun (primary) ve bir veya daha fazla ikincil sunucunun (secondary) olu\u015fturdu\u011fu bir gruptur. Veriler birincil sunucuya yaz\u0131l\u0131r ve otomatik olarak ikincil sunuculara kopyalan\u0131r. Birincil sunucu \u00e7\u00f6kt\u00fc\u011f\u00fcnde, ikincil sunuculardan biri otomatik olarak birincil rol\u00fcn\u00fc \u00fcstlenir. Bu, veri yedeklili\u011fi ve otomatik y\u00fck devretme (failover) sa\u011flayarak y\u00fcksek eri\u015filebilirlik sunar.<\/li>\n<li><strong>Sharding (Par\u00e7alama):<\/strong> Verileri birden fazla sunucuya veya sunucu k\u00fcmesine da\u011f\u0131tma i\u015flemidir. Veri hacmi \u00e7ok b\u00fcy\u00fcd\u00fc\u011f\u00fcnde ve tek bir sunucunun depolama veya i\u015flem kapasitesi yetersiz kald\u0131\u011f\u0131nda kullan\u0131l\u0131r. Sharding, yatay \u00f6l\u00e7eklenebilirlik sa\u011flayarak veritaban\u0131n\u0131n neredeyse s\u0131n\u0131rs\u0131z bir \u015fekilde b\u00fcy\u00fcmesine olanak tan\u0131r. IoT zaman serisi verileri i\u00e7in sharding anahtar\u0131n\u0131n (shard key) do\u011fru se\u00e7ilmesi kritik \u00f6neme sahiptir.<\/li>\n<\/ul>\n<p>DigitalOcean, y\u00f6netilen MongoDB veritabanlar\u0131 sunsa da, kendi Droplet&#8217;lerinizde Replica Set veya Sharding kurmak daha fazla kontrol sa\u011flar. Ancak bu, daha fazla y\u00f6netim y\u00fck\u00fc anlam\u0131na gelir.<\/p>\n<\/li>\n<li><strong>Coreflux K\u00fcmelenme (Clustering):<\/strong>\n<p>Coreflux&#8217;un kendi k\u00fcmelenme yeteneklerini inceleyin. Baz\u0131 MQTT Broker&#8217;lar, birden fazla broker \u00f6rne\u011finin birbiriyle ileti\u015fim kurarak mesajlar\u0131 senkronize etmesine ve y\u00fck\u00fc payla\u015fmas\u0131na olanak tan\u0131yan yerle\u015fik k\u00fcmelenme \u00f6zelliklerine sahiptir. Bu, daha karma\u015f\u0131k ama daha dayan\u0131kl\u0131 bir mimari olu\u015fturabilir.<\/p>\n<\/li>\n<\/ol>\n<h3>G\u00fcvenli Bir MQTT \u0130leti\u015fimi Nas\u0131l Sa\u011flan\u0131r?<\/h3>\n<p>IoT cihazlar\u0131 genellikle hassas verilerle \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, MQTT ileti\u015fiminin g\u00fcvenli\u011fini sa\u011flamak hayati \u00f6nem ta\u015f\u0131r. Coreflux ve DigitalOcean, bu konuda size yard\u0131mc\u0131 olacak ara\u00e7lar sunar.<\/p>\n<ol>\n<li><strong>TLS\/SSL Kullan\u0131m\u0131 (MQTTS &#8211; Port 8883):<\/strong>\n<p>MQTT mesajlar\u0131n\u0131n \u015fifrelenmesi i\u00e7in TLS\/SSL kullanmak, ileti\u015fimin dinlenmesini (eavesdropping) ve kurcalanmas\u0131n\u0131 (tampering) engeller. Coreflux, 8883 portu \u00fczerinden MQTTS&#8217;i destekler. Let&#8217;s Encrypt gibi \u00fccretsiz bir sertifika yetkilisinden SSL sertifikas\u0131 alarak sunucunuzu yap\u0131land\u0131rabilirsiniz. Coreflux&#8217;un yap\u0131land\u0131rma dosyas\u0131nda SSL sertifika yollar\u0131n\u0131 belirtmeniz gerekecektir.<\/p>\n<\/li>\n<li><strong>Eri\u015fim Kontrol Listeleri (ACL):<\/strong>\n<p>Coreflux, MQTT topic&#8217;leri \u00fczerinde kullan\u0131c\u0131 baz\u0131nda eri\u015fim kontrol\u00fc yapman\u0131z\u0131 sa\u011flayan ACL&#8217;leri destekler. Bu sayede, belirli bir kullan\u0131c\u0131n\u0131n sadece belirli topic&#8217;lere yay\u0131n yapmas\u0131na veya abone olmas\u0131na izin verebilirsiniz. \u00d6rne\u011fin, bir s\u0131cakl\u0131k sens\u00f6r\u00fcn\u00fcn sadece <code>sensor\/room1\/temperature<\/code> topic&#8217;ine yay\u0131n yapmas\u0131na izin verirken, bir kontrol cihaz\u0131n\u0131n <code>actuator\/room1\/light<\/code> topic&#8217;ine hem yay\u0131n yapmas\u0131na hem de abone olmas\u0131na izin verebilirsiniz.<\/p>\n<\/li>\n<li><strong>Kimlik Do\u011frulama ve Yetkilendirme:<\/strong>\n<p>Her MQTT istemcisinin Broker&#8217;a ba\u011flan\u0131rken kimlik do\u011frulamas\u0131 yapmas\u0131n\u0131 sa\u011flay\u0131n. Coreflux, kullan\u0131c\u0131 ad\u0131\/\u015fifre tabanl\u0131 kimlik do\u011frulamay\u0131 destekler. Daha y\u00fcksek g\u00fcvenlik i\u00e7in, istemci sertifikalar\u0131 ile kar\u015f\u0131l\u0131kl\u0131 TLS (mTLS) kimlik do\u011frulamas\u0131n\u0131 da d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<\/li>\n<li><strong>DigitalOcean Firewall Kurallar\u0131:<\/strong>\n<p>Daha \u00f6nce kurdu\u011fumuz UFW g\u00fcvenlik duvar\u0131na ek olarak, DigitalOcean&#8217;\u0131n kendi bulut tabanl\u0131 g\u00fcvenlik duvar\u0131 (Cloud Firewalls) hizmetini kullanabilirsiniz. Bu, Droplet&#8217;lerinize ula\u015fmadan \u00f6nce trafi\u011fi filtrelemenizi sa\u011flar. Yaln\u0131zca gerekli portlar\u0131 (SSH i\u00e7in 22, MQTT i\u00e7in 1883 ve 8883, ve Coreflux ile MongoDB aras\u0131ndaki ileti\u015fim i\u00e7in 27017) a\u00e7t\u0131\u011f\u0131n\u0131zdan emin olun. MongoDB portunu (27017) sadece Coreflux Droplet&#8217;inizin i\u00e7 IP adresine veya \u00f6zel a\u011fdan eri\u015fime izin verecek \u015fekilde yap\u0131land\u0131rmal\u0131s\u0131n\u0131z.<\/p>\n<\/li>\n<\/ol>\n<h3>Mobil Uyumluluk \u0130\u00e7in Dikkat Edilmesi Gerekenler Nelerdir?<\/h3>\n<p>IoT projeleri genellikle mobil uygulamalar veya web tabanl\u0131 kontrol panelleri arac\u0131l\u0131\u011f\u0131yla y\u00f6netilir. Bu aray\u00fczlerin mobil uyumlu olmas\u0131, kullan\u0131c\u0131 deneyimi a\u00e7\u0131s\u0131ndan kritiktir.<\/p>\n<ol>\n<li><strong>Responsive Web Tasar\u0131m\u0131:<\/strong>\n<p>E\u011fer bir web tabanl\u0131 y\u00f6netim veya izleme paneli geli\u015ftiriyorsan\u0131z, bunun farkl\u0131 ekran boyutlar\u0131na (telefon, tablet, masa\u00fcst\u00fc) uyum sa\u011flayacak \u015fekilde responsive (duyarl\u0131) tasarlanmas\u0131 gerekir. CSS media query&#8217;leri, bu uyumlulu\u011fu sa\u011flaman\u0131n temel yoludur.<\/p>\n<pre><code class=\"language-css\">\n\/* Masa\u00fcst\u00fc i\u00e7in varsay\u0131lan stil *\/\n.container {\n  width: 960px;\n  margin: 0 auto;\n  padding: 20px;\n}\n\n.dashboard-card {\n  float: left;\n  width: 30%;\n  margin: 1.66%;\n}\n\n\/* Mobil cihazlar i\u00e7in stil *\/\n@media (max-width: 768px) {\n  .container {\n    width: 100%;\n    padding: 10px;\n  }\n\n  .dashboard-card {\n    width: 96%; \/* Mobil'de kartlar tam geni\u015flikte olsun *\/\n    float: none;\n    margin: 2% auto;\n  }\n\n  .sidebar {\n    display: none; \/* Mobil'de sidebar'\u0131 gizle *\/\n  }\n\n  .main-navigation ul {\n    flex-direction: column; \/* Men\u00fc \u00f6\u011felerini alt alta s\u0131rala *\/\n  }\n}\n        <\/code><\/pre>\n<\/li>\n<li><strong>Hafif ve Verimli Mobil Uygulama Geli\u015ftirme:<\/strong>\n<p>Do\u011frudan MQTT broker&#8217;a ba\u011flanan mobil uygulamalar geli\u015ftiriyorsan\u0131z, uygulaman\u0131n batarya t\u00fcketimini ve veri kullan\u0131m\u0131n\u0131 minimize etmeye dikkat edin. Arka planda s\u00fcrekli ba\u011flant\u0131 yerine, gerekti\u011finde ba\u011flant\u0131 kurup mesajlar\u0131 alacak \u015fekilde optimizasyonlar yap\u0131n. Push bildirimleri, \u00f6nemli uyar\u0131lar i\u00e7in iyi bir alternatiftir.<\/p>\n<\/li>\n<li><strong>API Entegrasyonu:<\/strong>\n<p>Baz\u0131 durumlarda, mobil uygulamalar\u0131n do\u011frudan MQTT broker&#8217;a ba\u011flanmas\u0131 yerine, broker&#8217;dan veri alan ve mobil uygulamalara RESTful API veya WebSocket \u00fczerinden hizmet veren bir ara katman (API Gateway) kullanmak daha uygun olabilir. Bu, mobil uygulama geli\u015ftirme s\u00fcrecini basitle\u015ftirir ve g\u00fcvenlik katmanlar\u0131 eklemenize olanak tan\u0131r.<\/p>\n<\/li>\n<\/ol>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131: Vaka Analizleri<\/h2>\n<p>Coreflux MQTT Broker ve MongoDB entegrasyonunun DigitalOcean \u00fczerinde nas\u0131l hayat buldu\u011funu daha iyi anlamak i\u00e7in, ger\u00e7ek d\u00fcnya senaryolar\u0131na odaklanal\u0131m. Bu vaka analizleri, bu teknolojilerin farkl\u0131 sekt\u00f6rlerdeki potansiyelini ve faydalar\u0131n\u0131 g\u00f6zler \u00f6n\u00fcne serecektir.<\/p>\n<h3>Ak\u0131ll\u0131 \u015eehir Uygulamalar\u0131nda Sens\u00f6r Veri Y\u00f6netimi<\/h3>\n<p>Ak\u0131ll\u0131 \u015fehirler, vatanda\u015flar\u0131n ya\u015fam kalitesini art\u0131rmak ve \u015fehir y\u00f6netimini optimize etmek amac\u0131yla \u00e7e\u015fitli sens\u00f6rler ve teknolojilerle donat\u0131lm\u0131\u015f kentsel alanlard\u0131r. Bu sens\u00f6rlerden gelen devasa veri ak\u0131\u015f\u0131n\u0131 y\u00f6netmek, ak\u0131ll\u0131 \u015fehir uygulamalar\u0131n\u0131n ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p><strong>Senaryo:<\/strong> B\u00fcy\u00fck bir \u015fehir, trafik yo\u011funlu\u011funu izlemek, hava kalitesini \u00f6l\u00e7mek, \u00e7\u00f6p konteynerlerinin doluluk oran\u0131n\u0131 takip etmek ve kamu ayd\u0131nlatmas\u0131n\u0131 ak\u0131ll\u0131ca y\u00f6netmek i\u00e7in binlerce IoT sens\u00f6r\u00fc konu\u015fland\u0131rm\u0131\u015ft\u0131r. Bu sens\u00f6rler, s\u00fcrekli olarak veri \u00fcretir ve bu verilerin ger\u00e7ek zamanl\u0131 olarak toplanmas\u0131, i\u015flenmesi ve analiz edilmesi gerekmektedir.<\/p>\n<p><strong>Coreflux ve MongoDB&#8217;nin Rol\u00fc:<\/strong><\/p>\n<ol>\n<li><strong>Veri Toplama:<\/strong> \u015eehrin farkl\u0131 noktalar\u0131na yerle\u015ftirilmi\u015f trafik sens\u00f6rleri (ara\u00e7 say\u0131m\u0131, h\u0131z), hava kalitesi sens\u00f6rleri (PM2.5, CO2 seviyeleri), ak\u0131ll\u0131 \u00e7\u00f6p konteynerleri (doluluk sens\u00f6rleri) ve ak\u0131ll\u0131 ayd\u0131nlatma direkleri (\u0131\u015f\u0131k sens\u00f6rleri, hareket sens\u00f6rleri) gibi cihazlar, Coreflux MQTT Broker&#8217;a d\u00fczenli aral\u0131klarla veri yay\u0131nlar. Coreflux&#8217;un hafif yap\u0131s\u0131, d\u00fc\u015f\u00fck bant geni\u015fli\u011fine sahip uzak sens\u00f6r noktalar\u0131ndan bile verilerin g\u00fcvenilir bir \u015fekilde al\u0131nmas\u0131n\u0131 sa\u011flar. QoS seviyeleri sayesinde, kritik verilerin (\u00f6rne\u011fin, ani hava kirlili\u011fi art\u0131\u015flar\u0131) kesinlikle teslim edilmesi garanti edilir.<\/li>\n<li><strong>Veri Depolama:<\/strong> Coreflux Broker, ald\u0131\u011f\u0131 t\u00fcm mesajlar\u0131 an\u0131nda DigitalOcean \u00fczerinde \u00e7al\u0131\u015fan MongoDB veritaban\u0131na kaydeder. MongoDB&#8217;nin \u015fema esnekli\u011fi, farkl\u0131 t\u00fcrdeki sens\u00f6rlerden gelen \u00e7e\u015fitli veri formatlar\u0131n\u0131 (say\u0131sal de\u011ferler, zaman damgalar\u0131, konum bilgileri vb.) tek bir koleksiyonda veya ilgili koleksiyonlarda kolayca depolamas\u0131na olanak tan\u0131r. Zaman serisi verileri i\u00e7in optimize edilmi\u015f koleksiyonlar, b\u00fcy\u00fck hacimli sens\u00f6r verilerinin verimli bir \u015fekilde indekslenmesini ve sorgulanmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Ger\u00e7ek Zamanl\u0131 Analiz ve Karar Verme:<\/strong>\n<ul>\n<li><strong>Trafik Y\u00f6netimi:<\/strong> Trafik sens\u00f6rlerinden gelen ger\u00e7ek zamanl\u0131 veriler, yo\u011funluk haritalar\u0131 olu\u015fturmak ve trafik \u0131\u015f\u0131klar\u0131n\u0131 dinamik olarak ayarlamak i\u00e7in analiz edilir. Anormal yo\u011funluklar tespit edildi\u011finde, ilgili birimlere uyar\u0131lar g\u00f6nderilir.<\/li>\n<li><strong>Hava Kalitesi \u0130zleme:<\/strong> Hava kalitesi sens\u00f6rlerinden gelen veriler, \u015fehirdeki kirlilik seviyelerini anl\u0131k olarak g\u00f6sterir. Belirli e\u015fik de\u011ferleri a\u015f\u0131ld\u0131\u011f\u0131nda, vatanda\u015flara mobil uygulamalar veya dijital panolar arac\u0131l\u0131\u011f\u0131yla uyar\u0131lar yap\u0131l\u0131r.<\/li>\n<li><strong>At\u0131k Y\u00f6netimi:<\/strong> \u00c7\u00f6p konteynerlerinin doluluk verileri, \u00e7\u00f6p toplama rotalar\u0131n\u0131 optimize etmek i\u00e7in kullan\u0131l\u0131r, b\u00f6ylece sadece dolu konteynerler toplan\u0131r ve operasyonel maliyetler d\u00fc\u015f\u00fcr\u00fcl\u00fcr.<\/li>\n<li><strong>Ak\u0131ll\u0131 Ayd\u0131nlatma:<\/strong> I\u015f\u0131k ve hareket sens\u00f6rlerinden gelen veriler, sokak lambalar\u0131n\u0131n parlakl\u0131\u011f\u0131n\u0131 dinamik olarak ayarlamak i\u00e7in kullan\u0131l\u0131r, bu da enerji tasarrufu sa\u011flar ve g\u00fcvenli\u011fi art\u0131r\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik ve G\u00fcvenlik:<\/strong> \u015eehir b\u00fcy\u00fcd\u00fck\u00e7e ve daha fazla sens\u00f6r eklendik\u00e7e, DigitalOcean&#8217;\u0131n Load Balancer&#8217;lar\u0131 ve MongoDB&#8217;nin Replica Sets\/Sharding \u00f6zellikleri sayesinde sistem kolayca \u00f6l\u00e7eklenebilir. T\u00fcm ileti\u015fim, TLS\/SSL ile \u015fifrelenir ve ACL&#8217;ler, her sens\u00f6r veya uygulama i\u00e7in yetkilendirmeyi y\u00f6netir, b\u00f6ylece verilerin g\u00fcvenli\u011fi sa\u011flan\u0131r.<\/li>\n<\/ol>\n<p>Bu senaryoda Coreflux ve MongoDB, ak\u0131ll\u0131 \u015fehir uygulamalar\u0131 i\u00e7in sa\u011flam, \u00f6l\u00e7eklenebilir ve g\u00fcvenli bir veri omurgas\u0131 olu\u015fturarak, \u015fehir y\u00f6neticilerine daha bilin\u00e7li kararlar alma ve vatanda\u015flara daha iyi hizmet sunma imkan\u0131 tan\u0131r.<\/p>\n<h3>End\u00fcstriyel IoT (IIoT) ve \u00dcretim Takibi<\/h3>\n<p>End\u00fcstriyel IoT (IIoT), \u00fcretim tesislerinde ve end\u00fcstriyel ortamlarda verimlili\u011fi, g\u00fcvenli\u011fi ve \u00fcretkenli\u011fi art\u0131rmak i\u00e7in sens\u00f6rleri, cihazlar\u0131 ve yaz\u0131l\u0131mlar\u0131 bir araya getirir. Ger\u00e7ek zamanl\u0131 makine verilerinin toplanmas\u0131 ve analizi, kestirimci bak\u0131m ve operasyonel optimizasyon i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p><strong>Senaryo:<\/strong> B\u00fcy\u00fck bir \u00fcretim tesisi, y\u00fczlerce makine ve ekipman\u0131 izlemek i\u00e7in IIoT sens\u00f6rleri kullanmaktad\u0131r. Bu sens\u00f6rler, makine s\u0131cakl\u0131\u011f\u0131, titre\u015fim, bas\u0131n\u00e7, motor devri ve \u00fcretim sayac\u0131 gibi verileri s\u00fcrekli olarak toplar. Ama\u00e7, \u00fcretim hatt\u0131n\u0131n performans\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak izlemek, potansiyel ar\u0131zalar\u0131 \u00f6nceden tespit etmek ve bak\u0131m maliyetlerini d\u00fc\u015f\u00fcrmektir.<\/p>\n<p><strong>Coreflux ve MongoDB&#8217;nin Rol\u00fc:<\/strong><\/p>\n<ol>\n<li><strong>Veri Toplama ve Mesajla\u015fma:<\/strong> \u00dcretim hatt\u0131ndaki her bir makineye entegre edilmi\u015f sens\u00f6rler, Coreflux MQTT Broker&#8217;a ger\u00e7ek zamanl\u0131 telemetri verileri g\u00f6nderir. Coreflux&#8217;un y\u00fcksek performansl\u0131 yap\u0131s\u0131, binlerce makineden gelen e\u015fzamanl\u0131 veri ak\u0131\u015f\u0131n\u0131 gecikme olmadan i\u015fleyebilir. End\u00fcstriyel ortamlarda a\u011f g\u00fcvenilirli\u011fi kritik oldu\u011fundan, Coreflux&#8217;un QoS ve persistent sessions \u00f6zellikleri, hi\u00e7bir kritik veri mesaj\u0131n\u0131n kaybolmamas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Veri Depolama:<\/strong> Coreflux Broker, gelen t\u00fcm makine verilerini DigitalOcean&#8217;daki MongoDB veritaban\u0131na kaydeder. MongoDB&#8217;nin esnek \u015femas\u0131, farkl\u0131 makine tiplerinden gelen ve zamanla de\u011fi\u015febilen \u00e7e\u015fitli sens\u00f6r veri yap\u0131lar\u0131n\u0131 kolayca bar\u0131nd\u0131r\u0131r. \u00d6rne\u011fin, bir makine s\u0131cakl\u0131k ve bas\u0131n\u00e7 sens\u00f6rlerine sahipken, ba\u015fka bir makine titre\u015fim ve motor devri sens\u00f6rlerine sahip olabilir; MongoDB bu farkl\u0131l\u0131klar\u0131 sorunsuz bir \u015fekilde y\u00f6netir. Veriler, makine kimli\u011fi, zaman damgas\u0131 ve sens\u00f6r okumalar\u0131yla birlikte indekslenir.<\/li>\n<li><strong>Kestirimci Bak\u0131m ve Operasyonel Optimizasyon:<\/strong>\n<ul>\n<li><strong>Anomali Tespiti:<\/strong> MongoDB&#8217;de depolanan zaman serisi verileri, makine performans\u0131ndaki anormallikleri tespit etmek i\u00e7in analiz edilir. \u00d6rne\u011fin, bir motorun titre\u015fim seviyeleri belirli bir e\u015fi\u011fi a\u015ft\u0131\u011f\u0131nda veya s\u0131cakl\u0131\u011f\u0131 anormal derecede y\u00fckseldi\u011finde, sistem potansiyel bir ar\u0131za sinyali olarak bunu alg\u0131lar.<\/li>\n<li><strong>Kestirimci Bak\u0131m Planlamas\u0131:<\/strong> Anomali tespit edildi\u011finde, bak\u0131m ekibine otomatik olarak uyar\u0131lar g\u00f6nderilir ve ar\u0131zalanmadan \u00f6nce m\u00fcdahale etmeleri i\u00e7in zaman tan\u0131n\u0131r. Bu, plans\u0131z duru\u015f s\u00fcrelerini azalt\u0131r ve bak\u0131m maliyetlerini optimize eder.<\/li>\n<li><strong>\u00dcretim Verimlili\u011fi \u0130zleme:<\/strong> \u00dcretim sayac\u0131 verileri, her makinenin anl\u0131k \u00fcretim h\u0131z\u0131n\u0131 ve genel \u00fcretim hatt\u0131 verimlili\u011fini izlemek i\u00e7in kullan\u0131l\u0131r. Darbo\u011fazlar tespit edildi\u011finde, \u00fcretim s\u00fcre\u00e7leri optimize edilebilir.<\/li>\n<li><strong>Enerji T\u00fcketimi Analizi:<\/strong> Makine enerji t\u00fcketim verileri, enerji verimlili\u011fini art\u0131rmak ve i\u015fletme maliyetlerini d\u00fc\u015f\u00fcrmek i\u00e7in analiz edilir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fcvenlik ve Entegrasyon:<\/strong> End\u00fcstriyel ortamlarda veri g\u00fcvenli\u011fi en \u00fcst d\u00fczeyde olmal\u0131d\u0131r. Coreflux ve MongoDB aras\u0131ndaki t\u00fcm ileti\u015fim TLS\/SSL ile \u015fifrelenir. Ayr\u0131ca, Coreflux&#8217;un ACL&#8217;leri, farkl\u0131 makine veya kullan\u0131c\u0131 gruplar\u0131n\u0131n sadece yetkili olduklar\u0131 verilere eri\u015fmesini sa\u011flar. Sistem, mevcut SCADA veya MES sistemleriyle entegre edilerek daha geni\u015f bir otomasyon \u00e7\u00f6z\u00fcm\u00fcn\u00fcn par\u00e7as\u0131 haline getirilebilir.<\/li>\n<\/ol>\n<p>Bu IIoT senaryosu, Coreflux ve MongoDB&#8217;nin bir \u00fcretim tesisinde nas\u0131l ak\u0131ll\u0131, veri odakl\u0131 operasyonlar sa\u011flayarak verimlili\u011fi, g\u00fcvenli\u011fi ve maliyet etkinli\u011fini art\u0131rabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. DigitalOcean&#8217;\u0131n sa\u011flad\u0131\u011f\u0131 esnek ve \u00f6l\u00e7eklenebilir altyap\u0131, bu t\u00fcr yo\u011fun veri i\u015fleme gerektiren end\u00fcstriyel uygulamalar i\u00e7in ideal bir temel sunar.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, Coreflux MQTT Broker&#8217;\u0131 MongoDB ile DigitalOcean bulut platformunda ba\u015far\u0131l\u0131 bir \u015fekilde nas\u0131l da\u011f\u0131taca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendik. IoT projelerinizin temelini olu\u015fturan g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131n\u0131n \u00f6nemini vurgulad\u0131k. Coreflux&#8217;un y\u00fcksek performansl\u0131 MQTT broker yetenekleri ile MongoDB&#8217;nin esnek ve \u00f6l\u00e7eklenebilir belge tabanl\u0131 veri depolama \u00f6zelliklerinin birle\u015fimi, IoT verilerini etkin bir \u015fekilde y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. DigitalOcean ise, bu ikiliyi uygun maliyetli, g\u00fcvenli ve y\u00f6netimi kolay bir ortamda bar\u0131nd\u0131rarak geli\u015ftiricilerin ve \u015firketlerin IoT vizyonlar\u0131n\u0131 ger\u00e7e\u011fe d\u00f6n\u00fc\u015ft\u00fcrmelerine olanak tan\u0131r.<\/p>\n<p>Kurulum ad\u0131mlar\u0131ndan performans optimizasyonuna, g\u00fcvenlik stratejilerinden ger\u00e7ek d\u00fcnya vaka analizlerine kadar bir\u00e7ok konuya de\u011findik. Ak\u0131ll\u0131 \u015fehirlerden end\u00fcstriyel IoT&#8217;ye kadar geni\u015f bir yelpazede Coreflux ve MongoDB&#8217;nin nas\u0131l de\u011fer yaratabilece\u011fini g\u00f6rd\u00fck. Unutmay\u0131n ki, herhangi bir \u00fcretim da\u011f\u0131t\u0131m\u0131nda, sisteminizi d\u00fczenli olarak izlemek, g\u00fcvenlik g\u00fcncellemelerini uygulamak ve performans metriklerini takip etmek, uzun vadeli ba\u015far\u0131 i\u00e7in kritik \u00f6neme sahiptir. Bu rehber, IoT yolculu\u011funuzda size sa\u011flam bir ba\u015flang\u0131\u00e7 noktas\u0131 sunmay\u0131 ama\u00e7lamaktad\u0131r. \u015eimdi, kendi IoT projelerinizi bu g\u00fc\u00e7l\u00fc altyap\u0131 \u00fczerinde in\u015fa etme zaman\u0131!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ol>\n<li><strong>Coreflux neden di\u011fer MQTT brokerlardan farkl\u0131d\u0131r?<\/strong>\n<p>Coreflux, C# ve .NET teknolojileriyle geli\u015ftirilmi\u015f, a\u00e7\u0131k kaynakl\u0131, y\u00fcksek performansl\u0131 bir MQTT Broker&#8217;\u0131d\u0131r. \u00d6zellikle d\u00fc\u015f\u00fck kaynak t\u00fcketimi, y\u00fcksek mesaj hacmi i\u015fleme kapasitesi ve mod\u00fcler yap\u0131s\u0131yla \u00f6ne \u00e7\u0131kar. Geni\u015fletilebilir eklenti sistemi sayesinde farkl\u0131 veritabanlar\u0131 ve sistemlerle kolayca entegre olabilir, bu da onu IoT projeleri i\u00e7in esnek ve g\u00fc\u00e7l\u00fc bir se\u00e7enek haline getirir.<\/p>\n<\/li>\n<li><strong>MongoDB yerine ba\u015fka bir veritaban\u0131 kullanabilir miyim?<\/strong>\n<p>Evet, Coreflux&#8217;un mod\u00fcler yap\u0131s\u0131 sayesinde farkl\u0131 veritabanlar\u0131yla entegre edilebilir. Coreflux, eklentiler arac\u0131l\u0131\u011f\u0131yla PostgreSQL, MySQL, Redis veya InfluxDB gibi di\u011fer veritabanlar\u0131n\u0131 da destekleyebilir. Ancak bu rehberde MongoDB&#8217;nin esnek \u015femas\u0131 ve yatay \u00f6l\u00e7eklenebilirlik yetenekleri nedeniyle IoT zaman serisi verileri i\u00e7in ideal bir se\u00e7im oldu\u011fu vurgulanm\u0131\u015ft\u0131r.<\/p>\n<\/li>\n<li><strong>DigitalOcean d\u0131\u015f\u0131nda ba\u015fka bir bulut sa\u011flay\u0131c\u0131da da kurulum yapabilir miyim?<\/strong>\n<p>Kesinlikle. Bu rehberdeki kurulum ad\u0131mlar\u0131, Linux tabanl\u0131 bir sunucuda (Ubuntu) Coreflux ve MongoDB kurulumunu temel almaktad\u0131r. Bu nedenle, Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure veya di\u011fer herhangi bir sanal sunucu hizmeti sunan bulut sa\u011flay\u0131c\u0131s\u0131nda da benzer ad\u0131mlar\u0131 izleyerek kurulum yapabilirsiniz. DigitalOcean, kullan\u0131m kolayl\u0131\u011f\u0131 ve maliyet etkinli\u011fi nedeniyle tercih edilmi\u015ftir.<\/p>\n<\/li>\n<li><strong>G\u00fcvenli\u011fi nas\u0131l daha da art\u0131rabilirim?<\/strong>\n<p>G\u00fcvenli\u011fi art\u0131rmak i\u00e7in bir\u00e7ok ad\u0131m at\u0131labilir: TLS\/SSL ile t\u00fcm ileti\u015fimi \u015fifrelemek (MQTTS), g\u00fc\u00e7l\u00fc kullan\u0131c\u0131 ad\u0131\/parola kimlik do\u011frulamas\u0131 kullanmak, MQTT topic&#8217;leri \u00fczerinde detayl\u0131 Eri\u015fim Kontrol Listeleri (ACL) uygulamak, sunucu g\u00fcvenlik duvarlar\u0131n\u0131 (UFW ve DigitalOcean Cloud Firewalls) s\u0131k\u0131la\u015ft\u0131rmak, SSH eri\u015fimini sadece anahtar tabanl\u0131 hale getirmek ve d\u00fczenli g\u00fcvenlik g\u00fcncellemeleri yapmak esast\u0131r. Ayr\u0131ca, MongoDB i\u00e7in kullan\u0131c\u0131 bazl\u0131 roller ve a\u011f k\u0131s\u0131tlamalar\u0131 uygulamak da \u00f6nemlidir.<\/p>\n<\/li>\n<li><strong>Coreflux&#8217;u \u00fccretsiz kullanabilir miyim?<\/strong>\n<p>Evet, Coreflux a\u00e7\u0131k kaynakl\u0131 bir projedir ve GitHub \u00fczerinden eri\u015filebilir. Bu da onu \u00fccretsiz olarak kullanabilece\u011finiz ve hatta kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re geli\u015ftirebilece\u011finiz anlam\u0131na gelir. Ancak, \u00fcretim ortamlar\u0131nda y\u00fcksek \u00f6l\u00e7ek ve kritik g\u00f6revler i\u00e7in Coreflux ekibinden ticari destek veya \u00f6zel \u00e7\u00f6z\u00fcmler almay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<\/li>\n<\/ol>\n<p><\/body><br \/>\n&#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"Coreflux MQTT Broker&#8217;\u0131 MongoDB ile DigitalOcean&#8217;a Da\u011f\u0131tma IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-37517","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?<\/title>\n<meta name=\"description\" content=\"IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker&#039;\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean&#039;\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?\" \/>\n<meta property=\"og:description\" content=\"IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker&#039;\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean&#039;\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-07T09:24:41+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"35 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?\",\"datePublished\":\"2026-01-07T09:24:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\"},\"wordCount\":6457,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\",\"name\":\"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-07T09:24:41+00:00\",\"description\":\"IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker'\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean'\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?","description":"IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker'\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean'\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/","og_locale":"tr_TR","og_type":"article","og_title":"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?","og_description":"IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker'\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean'\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.","og_url":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-07T09:24:41+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"35 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?","datePublished":"2026-01-07T09:24:41+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/"},"wordCount":6457,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/","url":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/","name":"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-07T09:24:41+00:00","description":"IoT projelerinizde g\u00fcvenilir, \u00f6l\u00e7eklenebilir ve ger\u00e7ek zamanl\u0131 mesajla\u015fma altyap\u0131s\u0131 kurmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde, Coreflux MQTT Broker'\u0131 g\u00fc\u00e7l\u00fc MongoDB veritaban\u0131 ile DigitalOcean'\u0131n esnek bulut platformunda ad\u0131m ad\u0131m nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Performans ipu\u00e7lar\u0131 ve g\u00fcvenlik stratejileriyle birlikte, sisteminizi en verimli \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131n.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/iot-dunyasinda-neden-guvenilir-bir-mesajlasma-cozumune-ihtiyacimiz-var\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"IoT D\u00fcnyas\u0131nda Neden G\u00fcvenilir Bir Mesajla\u015fma \u00c7\u00f6z\u00fcm\u00fcne \u0130htiyac\u0131m\u0131z Var?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37517"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37517\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}