nginx playground
(jvns.ca)- nginx settings को मनचाहे तरीके से बदलकर test करने योग्य playground
→ config और curl/http command दर्ज करके Run दबाने पर execute होता है
→ execute किए गए command का result और nginx error log दिखाता है
-
Vue.js front + Go backend (Gist में सिर्फ server code public है)
-
Run button दबाने पर Go backend ये काम करता है
→ settings file को temp file के रूप में save करता है
→ नया network namespace बनाता है
ip netns add $RANDOM_NAMESPACE_NAME
→ go-httpbin को port 777 पर चलाता है
→ nginx शुरू करता है
→ nginx के सही से चलने तक 100ms इंतज़ार करता है. fail होने पर nginx error log लौटाता है
→ user द्वारा दर्ज command चलाता है (जांचता है कि वह curl / http है)
→ request का output लौटाता है
-
सभी requests को 1 shared server से process करता है
-
security approach: थोड़ी isolation, थोड़ी YOLO
→ frontend CDN पर host किया गया है
→ DB का उपयोग नहीं करता. सिर्फ browser local storage का उपयोग करता है
→ सभी nginx को उनके अपने network namespace में रखता है. internet access को block करता है
→ fly.io का free tier उपयोग करता है
→ लोगों से अच्छा व्यवहार करने के लिए FAQ में लिखता है
- performance
→ बहुत छोटा instance (1 shared CPU, 256MB RAM)
→ frontend CDN पर है, इसलिए backend सिर्फ वास्तविक उपयोग के समय चलता है
→ एक request में लगभग 400ms लगते हैं. बुरा नहीं है
→ Go version वाला httpbin original Python version से हल्का है
→ frontend performance बहुत अच्छी नहीं है
अभी कोई टिप्पणी नहीं है.