Câu hỏi phỏng vấn Systems Design
Câu hỏi

Khi thiết kế hệ thống xử lý nhiều request đồng thời, bạn ưu tiên scale vertical hay horizontal? Vì sao?

Câu trả lời

markdown

Đặc điểm

Scale vertical: Tăng cường sức mạnh xử lý của một server duy nhất bằng cách nâng cấp phần cứng như CPU, RAM, hoặc bộ nhớ.

Scale horizontal: Thêm nhiều server hơn để xử lý đồng thời các request bằng cách phân bố tải qua nhiều máy.

So sánh

Scale vertical thường dễ thực hiện hơn do không cần thay đổi kiến trúc hệ thống và tối ưu cho các ứng dụng không dễ phân chia. Tuy nhiên, nó có giới hạn vật lý và có thể dẫn đến tắc nghẽn khi đạt đỉnh tài nguyên.

Scale horizontal cho phép mở rộng không giới hạn,...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Tại sao cần message queue trong thiết kế hệ thống? So sánh Kafka và RabbitMQ?

senior

Thiết kế hệ thống GraphQL service, bạn xử lý performance N+1 problem ra sao?

senior

Làm sao để thiết kế hệ thống hạn chế abuse/tấn công bot trong quy mô lớn?

Bình luận

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

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