19 điểm bởi xguru 2023-11-29 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Máy chủ API chuyển sang Hono, runtime dùng Bun, hosting dùng Fly.io

Lý do chuyển

  • Cần máy chủ nhẹ: Họ muốn một máy chủ nhẹ với REST API đơn giản cho endpoint giám sát. Máy chủ Next.js trên Vercel có thêm các tính năng không cần thiết và nặng hơn. Họ dùng Hono và Bun. Khởi động trong 0.19ms & bộ nhớ 91MB
  • Vấn đề chi phí: Rất khó dự đoán chi phí trong khi vẫn duy trì giám sát đa vùng. Vercel chỉ tính phí theo thời gian CPU đã sử dụng, nhưng chi phí tăng theo lượng người dùng. Trong khi đó Fly.io rẻ hơn

Thách thức trong quá trình chuyển

  • Docker và monorepo: Ban đầu image Docker quá lớn, tới 2GB, nhưng sau tối ưu đã giảm xuống còn 700MB
  • Vấn đề timeout khi deploy lên Fly: Việc deploy lên Fly thường bị timeout nên phải tăng thời gian chờ. Deploy trên Fly kém ổn định hơn Vercel, và không có cách rollback nhanh về phiên bản trước
  • Lỗi Bun: Khi dùng runtime Bun, số lần request thất bại tăng lên, nên phải đặt tham số keepalive thành false

Kết luận

  • Việc chuyển đổi có nhiều thách thức, nhưng cuối cùng họ vẫn hài lòng.
  • Tất nhiên họ vẫn thích Vercel. Nhưng nếu cần host ứng dụng ngoài Next.js, đây có thể không phải lựa chọn tối ưu

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

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