ByHazerfen adlı üyeden alıntı: mesajı görüntüle
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 request’in 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 API’ye olan yük azaltılır.

İşlem Yükü Sıralaması
  1. Cassandra
  2. Go
  3. Elasticsearch
  4. PHP
  5. RabbitMQ
  6. MariaDB
  7. 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?
Ben olsam, veritabanı seçiminde PostgreSQL tercih ederdim. API servisimi Go ile yazar, mutlaka GraphQL kullanırdım. Önbellekleme için ise Redis’i tercih ederdim.