Web Sunucusu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Web Sunucusu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Ağustos 2026 Pazartesi

Altı Adet ESP32 ile Yüksek Kullanılabilirlikli Web Sunucusu: 3 Saniyede Kendini Onaran Donanım Altyapısı

Yüksek Kullanılabilirlik İçin Mikrodenetleyici Swarm Mimarisi

Tek bir ESP32 ile elindekilerle bir şeyler yapabilmek mümkündür, ancak bu yeteneklerin sınırlarını zorlayıp altı adet ESP32-S3 mikrodenetleyicisini senkronize etmek ne gibi bir güce yol açar? Londra merkezli bir geliştirici olan disco-jack, bu soruya ESP32 subreddit üzerinden detaylı bir çözüm sunarak, bu mikrodenetleyicilerin birlikte çalışarak bir web sunucusu oluşturduğunu kanıtladı. Proje, arkasında geleneksel kurumsal sunuculara benzeyen bir arıza toleransına ve otomatik yük dengeleme mekanizmasına sahip.

Şu an aktif olarak hizmet veren bu sistem, Londra’daki bir dairedeki raf üzerinde duran dört adet ESP32-S3 blade üzerine inşa edilmiş durumda. Bu dört birim, yükü üstlenerek servis sağlarken, sistemin geri kalanını oluşturan iki adet observer unit (gözlemci birim) de bu işlemi izleyip görselleştirme görevini üstleniyor. Bu mimari, kullanıcıların sunucunun durumunu canlı olarak takip edebileceği bir yapı sunuyor.

Sanal MAC Adresi ve Seçim Algoritması

Sistemin teknik omurgası, gelen ağ trafiğinin nasıl işlendiği üzerine kurulu. Bir router üzerinden gelen her web isteği, fiziki bir porta değil, tek bir virtual MAC address (sanal MAC adresi) üzerinden yönlendiriliyor. Bu sanal adres, sistem içinde gerçekleştirilen bir election (seçim) sürecinin sonucunda kazanan blade tarafından taşınıyor.

Kazanan birim, gelen bağlantıyı doğrudan kendi üzerine almıyor. Bunun yerine, least busy (en az yüklü) olan bladee aktarıyor. Bu durum, kullanıcının bağlandığı mikrodenetleyici ile aslında yanıtı aldığı mikrodenetleyiciyi birbirinden ayırıyor ve yükün dengeli dağıtılmasını sağlıyor. Bu sayede sistem, gelen istekleri en verimli çalışan birime yönlendirerek yanıt sürelerini optimize ediyor.

Arıza Tespiti ve 3 Saniyelik Onlama Süresi

Projenin en dikkat çekici yönü, potansiyel kesintilere karşı gösterdiği dirençtir. ESP32 tabanlı bir yapıda bile yüksek kullanılabilirlik (high availability) sağlamak mümkündür. Her bir ESP32, yalnızca kendi durumunu değil, diğer boardların da durumunu izliyor. Eğer bir blade arızalanır ya da sistemden fiziksel olarak çıkarılırsa, sistem bunu fark ediyor.

Trafik otomatik olarak başka bir bladee yönlendiriliyor ve sistem yaklaşık 3 saniye içinde kendini toparlıyor. Bu otomatik geçiş, kullanıcının herhangi bir kesinti yaşamadan hizmete devam etmesini sağlıyor. Bu tür bir resilience (esneklik), genellikle daha pahalı ve karmaşık server donanımlarında beklenen bir özelliktir.

Açık Kaynaklı Yapı ve OTA Güncellemeleri

Proje tamamen açık kaynaklı olarak geliştirilmiş olup, GitHub sayfasında tüm kaynak kodu ve dökümantasyon bulunuyor. Geliştiriciler veya meraklılar, bu sistemi kendi donanımları üzerinde kolayca kopyalayabilir ya da geliştirebilir. Yazılım tarafında ise OTA (over-the-air) güncellemeler destekleniyor. Bu sayede firmware güncellemeleri, fiziksel bir bağlantı ağızına gerek kalmadan uygulanabiliyor.

Eğer bir güncelleme soruna yol açarsa, geliştiriciler rollback özelliği sayesinde sistemi sorunsuz bir önceki hale geri döndürebiliyor. Ayrıca, sunucunun durumunu detaylı bir şekilde görebileceğiniz bir live status webpage bulunuyor. Bu sayede hangi bladelerin aktif olduğu, sistemdeki yük dağılımı ve gözlemci birimlerin verileri gerçek zamanlı olarak takip edilebiliyor.

Yazılımcı Profili ve Projenin Kaynağı

Bu proje, 17 Ağustos 2026 tarihinde Simon Batt tarafından XDA platformunda detaylandırılarak anlatıldı. Simon Batt, 2014 yılından bu yana teknoloji üzerine yazılar yazıyor ve Windows 3.1 sürümünden beri bilgisayarı kullanıyor. MakeUseOf ve WorldStart gibi platformlarda yer aldıktan sonra 2019 Şubat ayında XDA’ya geçiş yapmış durumda. Bu teknik derinliğiyle ESP32 ekosisteminin sadece IoT sensörleriyle sınırlı kalmadığını, aynı zamanda güvenilir web server çözümleri sağlanabileceğini kanıtlıyor.

Kaynak: xda-developers.com