Có nên chia ứng dụng web thành 2 server: 1 chứa code - 1 chứa resources

Mình có làm 1 ứng dụng web đăng ảnh dạng như google photos.
-> Chức năng: Upload ảnh, View ảnh, Del ảnh, …
-> Backend: Laravel PHP
-> Frontend: Vuejs
Mình đang tính sử dụng docker để chạy 2 server 1 server để chứa code 1 server chỉ chứa ảnh. Muốn hỏi các bác là có nên làm như vậy không hay gộp vào 1 là được. Cám ơn các bác

1 Like

Có kinh phí thì tách ra nha bạn, nếu lượng truy cập ngày càng nhiều thì 1 con chịu tải rất dễ sập

Cần gì phức tạp thế nhỉ? Sao bạn không sử dụng 1 server chứa ảnh thứ 3 như là One Drive hay dropbox?

Note: OneDrive theo mình là rẻ và tốt nhất trong các loại dịch vụ, nếu là SV thì có 1 TB free.

4 Likes

Được bạn, miễn giải quyết được communications giữa các service thì bạn chọn stack như vậy là hợp lí
Backend server cần tốc độ xử lí, còn Resource server chỉ cần tốc độ I/O, tách như thế dễ scale theo chiều ngang giúp tối ưu chi phí
Bình thường tối ưu web dùng cdn cũng là một dạng như thế, media của web được lưu về server chuyên phân phối
Bản chất html trả về rất nhỏ, phía code chỉ cần trả về html có link trỏ về cdn, việc tải media do browser làm việc tiếp với cdn, nhờ vậy tăng thời gian tải rất nhiều.

6 Likes

Nên làm chuyện này trước để mai sau bạn đỡ nhọc hơn

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?