nginx playground
(jvns.ca)- nginx ayarlarını istediğiniz gibi değiştirip test edebileceğiniz bir playground
→ config ve curl/http komutlarını girip Run'a basarak çalıştırma
→ çalıştırılan komutların sonucunu ve nginx hata loglarını gösterir
-
Vue.js frontend + Go backend (sunucu kodunun yalnızca Gist'i açıklandı)
-
Run düğmesine basıldığında Go backend şu işleri yapar
→ yapılandırma dosyasını geçici bir dosya olarak kaydeder
→ yeni bir ağ namespace'i oluşturur
ip netns add $RANDOM_NAMESPACE_NAME
→ go-httpbin'i 777 portunda çalıştırır
→ nginx'i başlatır
→ nginx düzgün çalışana kadar 100ms bekler. Başarısız olursa nginx hata logunu döndürür
→ kullanıcının girdiği komutu çalıştırır (curl / http olup olmadığını kontrol eder)
→ isteğin çıktısını döndürür
-
Tüm istekleri tek bir paylaşımlı sunucu işler
-
Güvenlik yaklaşımı: biraz isolation, biraz YOLO
→ frontend CDN'de barındırılır
→ DB kullanılmaz. Yalnızca tarayıcı local storage kullanılır
→ tüm nginx örnekleri kendi ağ namespace'lerinde tutulur. İnternete erişmeleri engellenir
→ fly.io'nun ücretsiz katmanı kullanılır
→ insanların nazik davranması için FAQ'ya not eklenir
- Performans
→ çok küçük bir instance (1 shared CPU, 256MB RAM)
→ frontend CDN üzerinde olduğu için backend yalnızca gerçekten kullanıldığında çalışır
→ bir istek yaklaşık 400ms sürer. Fena değil
→ Go sürümü httpbin, orijinal Python sürümünden daha hafif
→ frontend performansı çok iyi değil
Henüz yorum yok.