Trong môi trường Microservices, tại sao việc kết hợp giữa Client-Side Load Balancing và Server-Side Load Balancing lại là một thiết kế kiến trúc tối ưu để giải quyết bài toán giao tiếp nội bộ giữa các Service?
Khái niệm cơ bản
- Server-Side Load Balancing: Mô hình truyền thống nơi client gửi yêu cầu đến một Load Balancer tập trung (như NGINX, AWS ALB), sau đó Load Balancer này mới phân phối đến các Backend Server.
- Client-Side Load Balancing: Mô hình mà phía client (trong kiến trúc Microservices, đây chính là các Service gọi API lẫn nhau) tự duy trì danh sách các instance của Service đích và tự quyết định chọn instance nào để gửi request.
Sự cần thiết của Client-Side Load Balancing trong Microservices
Trong một hệ thống Microservices phức tạp, việc để mọi giao tiếp nội bộ (East-West Traffic) đi qua một Server-Side Load Balancer trung tâm sẽ tạo ra những điểm nghẽn nghiêm trọng:
Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...
Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.
// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp
Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.
Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)
Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?
Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.
Kiểm Tra CV Chuẩn ATS Miễn Phí
Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.
Câu hỏi load balancing liên quan cùng chủ đề
- Trong kiến trúc Microservices, sự khác biệt chính giữa Client-side Load Balancing và Server-side Load Balancing là gì và khi nào nên dùng loại nào? Junior
- Khi hệ thống gặp sự cố Load Balancer bị quá tải hoặc chết hoàn toàn, kiến trúc High Availability (HA) được thiết kế như thế nào để đảm bảo hệ thống không bị gián đoạn? Junior
- Trong kiến trúc Load Balancing, tại sao thuật toán Weighted Round Robin lại thường được ưu tiên hơn thuật toán Round Robin thuần túy khi các Backend Server có cấu hình phần cứng không đồng nhất? Junior
- Khi cấu hình Load Balancer, tại sao việc sử dụng cơ chế Sticky Sessions (Session Persistence) lại có thể gây ra hiện tượng phân bổ tải không đều và cách khắc phục là gì? Junior
- Tại sao việc cấu hình SSL Termination tại Load Balancer lại giúp giảm tải đáng kể cho các Backend Server trong hệ thống? Junior


