0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Các Loại Cân Bằng Tải Trong Thiết Kế Hệ Thống

Đăng vào 3 tuần trước

• 5 phút đọc

Chuỗi Bài Viết Cân Bằng Tải – Phần 2: Các Loại Cân Bằng Tải

Mục Lục

  1. Giới thiệu
  2. Dựa trên Các Lớp OSI
    • Cân Bằng Tải Lớp 4 (Lớp Giao Vận)
    • Cân Bằng Tải Lớp 7 (Lớp Ứng Dụng)
  3. Dựa trên Triển Khai
    • Cân Bằng Tải Phần Cứng
    • Cân Bằng Tải Phần Mềm
    • Cân Bằng Tải Đám Mây (Quản Lý)
    • Cân Bằng Tải DNS (Cân Bằng Tải Toàn Cầu)
  4. So Sánh Các Loại
  5. Thực Hành Tốt Nhất Khi Chọn Cân Bằng Tải
  6. Kết Luận

Giới thiệu

Trong Phần 1: Những Kiến Thức Cơ Bản Về Cân Bằng Tải, chúng ta đã thảo luận về khái niệm cân bằng tải, lý do nó quan trọng, và cách mà nó cải thiện tính khả dụng, khả năng mở rộng và khả năng chịu lỗi của hệ thống.

Bây giờ, chúng ta hãy đi sâu hơn vào các loại cân bằng tải, đặc điểm của chúng và khi nào nên sử dụng từng loại.

Cân bằng tải có thể được phân loại dựa trên cách thức hoạt động (các lớp của mô hình OSI)nơi triển khai (phần cứng, phần mềm, đám mây hoặc cấp độ DNS).


Dựa trên Các Lớp OSI

Cân Bằng Tải Lớp 4 (Lớp Giao Vận)

  • Hoạt động ở cấp độ TCP/UDP.
  • Quyết định định tuyến dựa trên địa chỉ IP và số cổng (không dựa trên nội dung ứng dụng).
  • Nhanh hơn, nhẹ hơn, nhưng thiếu sự nhận thức về ứng dụng.

Ví dụ Về Trường Hợp Sử Dụng:

  • Máy chủ trò chơi, ứng dụng chat, VoIP – nơi độ trễ quan trọng hơn việc kiểm tra nội dung sâu.

Phân Tích SQL: Giống như việc sử dụng chỉ mục chỉ trên các khóa chính – nhanh nhưng không nhận biết nội dung.

Hình Ảnh Minh Họa:

  • Hãy tưởng tượng một cảnh sát giao thông chỉ nhìn vào biển số xe (IP/Cổng), chứ không quan tâm đến những gì bên trong xe (nội dung).

Cân Bằng Tải Lớp 7 (Lớp Ứng Dụng)

  • Hoạt động ở cấp độ HTTP/HTTPS.

  • Có thể kiểm tra tiêu đề yêu cầu, URL, cookie và thậm chí cả payload.

  • Cho phép định tuyến nâng cao như:

    • Chuyển yêu cầu /images/* đến máy chủ media.
    • Chuyển yêu cầu /api/* đến cụm microservices.
  • Hỗ trợ caching, SSL termination và nén.

Ví dụ Về Trường Hợp Sử Dụng:

  • Nền tảng thương mại điện tử, microservices, cổng API.

Hình Ảnh Minh Họa:

  • Một nhân viên hải quan kiểm tra các gói hàng và định tuyến chúng dựa trên nội dung, không chỉ dựa trên nhãn.

Dựa trên Triển Khai

Cân Bằng Tải Phần Cứng

  • Thiết bị vật lý (ví dụ: F5, Citrix ADC).
  • Thông lượng cao, độ trễ thấp, độ tin cậy cấp doanh nghiệp.
  • Đắt đỏ và ít linh hoạt hơn so với các giải pháp đám mây/phần mềm.

Trường Hợp Sử Dụng:

  • Ngân hàng, nhà cung cấp viễn thông và các doanh nghiệp với SLA nghiêm ngặt.

Cân Bằng Tải Phần Mềm

  • Chạy trên các máy chủ thông thường hoặc container.
  • Ví dụ: HAProxy, Nginx, Envoy.
  • Rẻ hơn, linh hoạt, dễ tự động hóa.
  • Có thể triển khai tại chỗ hoặc trên đám mây.

Trường Hợp Sử Dụng:

  • Các startup và doanh nghiệp vừa cần khả năng mở rộng mà không phải đầu tư lớn ngay từ đầu.

Cân Bằng Tải Đám Mây (Quản Lý)

  • Được cung cấp bởi các nhà cung cấp đám mây (AWS ELB, GCP Load Balancing, Azure Front Door).
  • Hoàn toàn quản lý: tự động mở rộng, định tuyến toàn cầu, bảo vệ DDoS.
  • Giá cả theo mô hình pay-as-you-go.

Trường Hợp Sử Dụng:

  • Ứng dụng đám mây, nền tảng SaaS, dịch vụ toàn cầu.

Cân Bằng Tải DNS (Cân Bằng Tải Toàn Cầu)

  • Sử dụng giải quyết DNS để phân phối lưu lượng qua các khu vực hoặc trung tâm dữ liệu.
  • Ví dụ: GeoDNS – định tuyến người dùng đến máy chủ gần nhất để giảm độ trễ.
  • Hoạt động tốt với CDN và các triển khai đa vùng.

Hạn Chế:

  • Bộ nhớ cache DNS có thể làm chậm việc định tuyến lại lưu lượng.

Trường Hợp Sử Dụng:

  • Ứng dụng đa vùng, thiết lập khôi phục thảm họa.

So Sánh Các Loại

Loại Lớp OSI Độ Linh Hoạt Tốc Độ Chi Phí Công Cụ Ví Dụ
Cân Bằng Lớp 4 (Giao Vận) L4 Thấp Rất Cao Trung Bình LVS, HAProxy
Cân Bằng Lớp 7 (Ứng Dụng) L7 Rất Cao Trung Bình Trung Bình Nginx, Envoy
Thiết Bị Phần Cứng L4/L7 Trung Bình Rất Cao Cao F5, Citrix
Cân Bằng Tải Phần Mềm L4/L7 Cao Cao Thấp HAProxy, Nginx
Cân Bằng Tải Đám Mây L4/L7/DNS Rất Cao Cao Pay-as-you-go AWS ELB, GCP LB
Cân Bằng Tải DNS DNS Trung Bình Cao Thấp Route53, Cloudflare

Thực Hành Tốt Nhất Khi Chọn Cân Bằng Tải

  • Startup / Quy mô nhỏ: Cân Bằng Tải Phần Mềm (HAProxy, Nginx).
  • Ứng dụng đám mây: Cân Bằng Tải Đám Mây Quản Lý + CDN.
  • Doanh nghiệp / Ngân hàng: Cân Bằng Tải Phần Cứng cho tuân thủ và độ tin cậy.
  • Lưu lượng toàn cầu: DNS + định tuyến địa lý.
  • APIs / Microservices: Cân Bằng Tải Lớp 7 với SSL termination.

Kết Luận

Cân bằng tải có nhiều loại – từ các cân bằng tải nhanh và đơn giản ở Lớp 4 đến các cân bằng tải thông minh ở Lớp 7, và từ thiết bị phần cứng đến các giải pháp quản lý trên đám mây.

Lựa chọn phụ thuộc vào quy mô ứng dụng, ngân sách, nhu cầu tuân thủ và yêu cầu về độ trễ.

Trong Phần 3, chúng ta sẽ khám phá Các Thuật Toán Cân Bằng Tải (Round Robin, Least Connections, Consistent Hashing, v.v.) – những chiến lược đứng sau việc phân phối các yêu cầu.


Thông tin chi tiết:

Xem tất cả các bài viết liên quan đến thiết kế hệ thống
Hastag: SystemDesignWithZeeshanAli

systemdesignwithzeeshanali

Git: GitHub

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

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

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