10 điểm bởi xguru 2021-09-27 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Một playground cho phép tự do thay đổi cấu hình nginx để thử nghiệm

→ nhập config và lệnh curl/http, rồi nhấn Run để thực thi

→ hiển thị kết quả của lệnh đã chạy và log lỗi của nginx

  • Frontend Vue.js + backend Go (chỉ công khai mã máy chủ qua Gist)

  • Khi nhấn nút chạy, backend Go sẽ thực hiện các việc sau

→ lưu file cấu hình thành file tạm

→ tạo network namespace mới

ip netns add $RANDOM_NAMESPACE_NAME

→ chạy go-httpbin trên cổng 777

→ khởi động nginx

→ đợi 100ms cho đến khi nginx chạy đúng; nếu thất bại thì trả về log lỗi nginx

→ chạy lệnh do người dùng nhập vào (kiểm tra xem có phải curl / http hay không)

→ trả về đầu ra của request

  • Xử lý mọi request bằng một máy chủ dùng chung duy nhất

  • Cách tiếp cận về bảo mật: một chút isolation, một chút YOLO

→ frontend được host trên CDN

→ không dùng DB, chỉ dùng local storage của trình duyệt

→ đặt mọi nginx trong network namespace riêng của nó, chặn không cho truy cập Internet

→ dùng gói miễn phí của fly.io

→ đưa vào FAQ để mọi người hành xử tử tế

  • Hiệu năng

→ instance rất nhỏ (1 shared CPU, 256MB RAM)

→ frontend ở trên CDN nên backend chỉ chạy khi thực sự được dùng

→ mỗi request mất khoảng 400ms. Không tệ

→ phiên bản Go của httpbin nhẹ hơn bản Python gốc

→ hiệu năng frontend không quá tốt

Chưa có bình luận nào.

Chưa có bình luận nào.