Yoshi

Uzman
Katılım
21 Ağustos 2025
Mesajlar
9
Beğeniler
2
Merhaba dostlar, şimdi benim kurye çağırma tarzı bir mobil uygulamam var. Biraz büyük çaplı olduğu için kendi dedicated sunucumuzu aldık ve bizim ilk kurumsal projemiz olduğu için server tarafında kaldık. Sorun şu: 2 tane API'ler için VM'ler oluşturduk, API01, API02 mantığıyla ama sorun bunları nasıl yöneteceğimiz. Projede SignalR var, WebSocket var; haliyle de kuryenin konumu 5 saniyede bir güncelleniyor. Seçenekler şunlar:

a — Ters vekil (HAProxy/nginx) web01 üzerinde

Trafik web01'e gelir, o da sağlıklı API'lere dağıtır. /health uç noktasına düzenli istek atar, cevap vermeyeni havuzdan çıkarır, düzelince geri alır.
  • İkisi de aktif çalışır, yük paylaşılır.
  • Sağlık kontrolü gerçek — "makine açık" değil, "uygulama cevap veriyor" bakar.
  • Zaten TLS sonlandırma ve web sitesi için bir vekile ihtiyacımız var.
  • Web01 tek nokta ama zaten host da tek nokta, yani pratikte bir şey kaybetmiyoruz.
b — Keepalived + sanal IP

İki API bir IP'yi paylaşır, biri düşünce IP diğerine geçer. Ek VM yok, geçiş 1-3 saniye. Ama aktif-pasif — API02 boşta bekler. Ayrıca VRRP'yi öğrenmem gerekiyor.

c — Cloudflare tunnel, iki bağlayıcı

Cloudflared'ı iki API'de de çalıştırırız, ikisi de aynı tunnel ile bağlanır. Cloudflare sağlıksız olanı kendisi çıkarır.

Hangisini yapmamız daha sağlıklı olur?
 
Son düzenleyen: Moderatör: