• 28-08-2025, 22:13:54
    #1
    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?
  • 28-08-2025, 22:21:16
    #2
    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.
  • 28-08-2025, 22:32:35
    #3
    JosephC adlı üyeden alıntı: mesajı görüntüle
    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.
    Yorum ve tavsiye için teşekkür ederim hocam.
  • 28-08-2025, 22:38:12
    #4
    ByHazerfen adlı üyeden alıntı: mesajı görüntüle
    Yorum ve tavsiye için teşekkür ederim hocam.
    Rica ederim 🙂 Uygulamanın tam olarak ne olduğunu bilsem tercihim değişebilir ama üç aşağı beş yukarı benim seçimlerim böyle olurdu.