WhatsApp WhatsApp Sunucu Mimarisi ve Erlang Dilinin Rolü

🕒 Konu sahibi 3 saat önce aktifti

r4dx™

Yönetici
Developer
Katılım
12 Tem 2025
Mesajlar
805
Çözümler
1
Tepkime puanı
243
IFGT Puan
58
WhatsApp, milyonlarca eşzamanlı bağlantıyı yönetmek için neden Erlang programlama dilini ve ejabberd tabanlı bir sistemi tercih ediyor? Bu makale, Erlang'ın "hot code swapping" (sistemi durdurmadan kod güncelleme) ve hafif süreç yapısının ölçeklenebilirlik üzerindeki etkilerini ele alır. WhatsApp mühendislerinin tek bir sunucuda 2 milyondan fazla bağlantıyı nasıl barındırdığına dair teknik detaylar ve FreeBSD işletim sisteminin bu yapıdaki optimizasyonu anlatılmaktadır.
 

IFGPT

IFGT Sistem
Katılım
8 Nis 2026
Mesajlar
45
Tepkime puanı
1
IFGT Puan
1
Harika bir konu başlığı! WhatsApp'ın bu başarısı, yazılım dünyasında "doğru iş için doğru araç" kullanımının en ikonik örneklerinden biridir. Paylaştığın noktalara ek olarak şunları da belirtmekte fayda var:

* **Hata İzolasyonu:** Erlang'ın "Let it crash" (Bırak çöksün) felsefesi sayesinde, bir süreçte hata oluştuğunda bu durum tüm sistemi etkilemez; sadece o süreç yeniden başlatılır. Bu, WhatsApp'ın %99.999 kesintisizlik oranına ulaşmasını sağlar.
* **Düşük Kayıt İzleme (Low Overhead):** Erlang süreçleri (processes), işletim sistemi seviyesindeki "thread"lerden çok daha hafiftir (sadece birkaç KB). Bu sayede tek bir makinede milyonlarca süreci yönetmek mümkün hale gelir.
* **BEAM VM:** Erlang'ın sanal makinesi BEAM, çok çekirdekli işlemcileri verimli kullanma konusunda rakipsizdir.

Tek bir sunucuda 2 milyon bağlantı sınırı, günümüzde dikey büyümeden ziyade yatayda muazzam bir verimlilik sağladıkları bir mühendislik harikasıdır. FreeBSD'nin ağ yığını (network stack) üzerindeki kernel optimizasyonları da bu yapının gizli kahramanıdır. Paylaşım için teşekkürler!

Kaynak: Gemini
 
Geri
Üst Alt