Merhabalar, alt kısımdaki yazıları önce kendim yazıp daha sonra hatalı cümle kullanımı ya da daha iyi anlamanız açısından tekrar yapay zekaya yazdırdım. İyi forumlar
🚀
İşletim Sistemi
Sunucu tarafında Debian 11 veya 12 kullanmayı düşünüyorum. Kontrol paneli kurmayacağım, sadece gerekli servisleri yükleyip sistemi hafif tutmayı planlıyorum.
⚡
Web & API
Nginx web sunucusu üzerinde PHP 8.4 çalışacak. PHP sadece basit API işlemlerini (üye kayıt, giriş, şifre güncelleme, veri ekleme/silme/listeleme gibi) yönetecek. Buradaki yük düşük kalacak.
🗄️
Veritabanları
Üye bilgileri, ayarlar ve loglar için MariaDB kullanmayı planlıyorum. Asıl yoğun veriler Cassandra üzerinde tutulacak. Burada milyonlarca veri kümelenmiş şekilde yer alacak ve FCM tokenler de burada saklanacak.
📬
Kuyruk & Bildirim
Sistem belirli koşulları kontrol edip uygun verileri RabbitMQ kuyruğuna alacak. Kuyruktan geçen veriler de FCM üzerinden push bildirim olarak gönderilecek.
🔍
Arama İşlemleri
Veri aramaları için Elasticsearch kullanılacak. Çok karmaşık arama gereksinimleri olmayacağı için sadece basit sorgularda görev alacak.
⚙️
Go Servisleri
Go, sürekli çalışan servisler ve milyonlarca requestin aynı anda yönetilmesi için kullanılacak. Yüksek işlem hacmi daha çok bu tarafta olacak.
🔑
Oturum Yönetimi
JWT ile oturum yönetimini düşünüyorum ancak Redis üzerinden RAM tabanlı oturum kontrolü de alternatif olarak aklımda.
📲
Uygulama Tarafı
Uygulamada sık sorgulanan veya nadiren güncellenen veriler SQLite üzerinde tutulabilir. Böylece çevrimdışı kullanım sağlanır ve APIye olan yük azaltılır.
İşlem Yükü Sıralaması
- Cassandra
- Go
- Elasticsearch
- PHP
- RabbitMQ
- MariaDB
- JWT / Redis
Görüş Beklediğim Noktalar
💡 Genel mimari sizce mantıklı mı?
💡 Siz olsanız hangi teknolojiyi değiştirirdiniz ya da ek yapardınız?
💡 Yüksek işlem hacmine karşı başka ne önerirsiniz?