kaptandusukdon
Picopat
- Katılım
- 16 Kasım 2024
- Mesajlar
- 181
Daha fazla
- Cinsiyet
- Erkek
Ne kadar net doktun Discord'un tum gereksinimlerini ortaya. Realtime messaging applerle tecruben cok herhalde. MySQL onerdigine gore. (!)
Konu sahibi icin;
Discord benzeri open-Source bir proje var, revolt adi. Backend'de kullandiklari dil Rust agirlikli olarak; GitHub - revoltchat/backend: Monorepo for Revolt backend services. dB icin MongoDB kullaniyorlar.
Frontend icin ise React kullaniyor bu proje.
Discord'un kendisi, React ve React + electron frontend icin, backend icin ise; agirlikli Elixir ve Python kullaniyor ama bunlarin yani sira, C++, GO ve Rust'da kullaniyorlar. Discord gibi sacelability goz onunde bulundurularak gelistirilen sistemler monolithic yapiya sahip olamazlar isteselerde. Dolayisiyla moduler gelistirilirler, bir modulu gelistirmeye en uygun dil/arac kiti neyse o tercih edilir.
User data Storage icin genelde geleneksel rdbms cozumleri kullanirlar, mesajlar icinse nosql veri tabanlari daha uygun. Horizontal scaling mumkun hale geliyor ve islemleri sunucular arasinda ya da ulkeler arasindaki sunucular arasinda bile dagitabiliyorsun. (bolgesel sunucu sistemleri, mesela Discord'da sesli sohbetteyken gormussunuzdur sesli sohbete baglandiginiz sunucunun konumunu degistirebildiginizi.)
Yani hocam dediklerinizden çok anlamadım ama sanırım Python tek yetmeyecek. Öyle bir uygulama yapmak için neleri bilmem gerek ve Revolt'dan nasıl yapılıyor? Basitçe anlatır mısınız? Ve uygulamayı sadece aramızds kullancaz o yüzden tek sunucu yetmez mi?