10 poin oleh xguru 2021-09-27 | Belum ada komentar. | Bagikan ke WhatsApp
  • Playground untuk menguji dengan bebas dengan mengubah konfigurasi nginx sesuka hati

→ masukkan config dan perintah curl/http, lalu tekan Run untuk menjalankannya

→ menampilkan hasil dari perintah yang dijalankan dan log error nginx

  • Frontend Vue.js + backend Go (hanya kode server yang dipublikasikan melalui Gist)

  • Saat tombol Run ditekan, backend Go melakukan hal-hal berikut

→ menyimpan file konfigurasi sebagai file temp

→ membuat network namespace baru

ip netns add $RANDOM_NAMESPACE_NAME

→ menjalankan go-httpbin pada port 777

→ memulai nginx

→ menunggu 100ms sampai nginx berhasil berjalan. Jika gagal, mengembalikan log error nginx

→ menjalankan perintah yang dimasukkan pengguna (memeriksa apakah berupa curl / http)

→ mengembalikan output dari permintaan

  • Semua permintaan diproses oleh satu server bersama

  • Pendekatan keamanan: sedikit isolation, sedikit YOLO

→ frontend di-host dari CDN

→ tidak menggunakan DB, hanya memakai local storage browser

→ semua nginx ditempatkan dalam network namespace masing-masing. Akses internet diblokir

→ menggunakan free tier fly.io

→ memasukkannya ke FAQ agar orang-orang bertindak dengan baik

  • Performa

→ instance yang sangat kecil (1 shared CPU, RAM 256MB)

→ karena frontend ada di CDN, backend hanya aktif saat benar-benar digunakan

→ satu permintaan memerlukan sekitar 400ms. Tidak buruk

→ versi Go dari httpbin lebih ringan daripada versi Python aslinya

→ performa frontend tidak terlalu bagus

Belum ada komentar.

Belum ada komentar.