Download app

Quét mã QR để tải về ứng dụng

QR code

Load Balancing là gì?

14/06/2021, 03:21 pm
2,307

Load Balancing là một tính năng công nghệ rất quan trọng trong ngành mạng máy tính. Nhân Hòa sẽ giúp bạn tìm hiểu thêm về Load Balancing là gì, cách thức vận hành của Load Balancing ra sao và lợi ích của Load Balancing như thế nào trong bài viết sau.

1. Load Balancing là gì?

Load Balancing (cân bằng tải) là một tính năng công nghệ rất quan trọng trong ngành mạng máy tính, giúp các máy chủ ảo hoạt động đồng bộ và hiệu quả hơn thông qua việc phân phối đồng đều tài nguyên

Truy cập vào website yourdomain.com kết nối trực tiếp không có Load Balancing sẽ thế nào? Rất có thể sẽ không kịp xử lý, tải chậm, thậm chí không kết nối được khi máy chủ down. Trường hợp này xảy ra vì có quá nhiều người cùng lúc truy cập , ứng dụng,… Và đây chính là lúc mà Load Balancing thể hiện vai trò của mình.

Load Balancing là gì?

Khi máy chủ down hoặc không thể xử lý, một Load Balancer sẽ được bổ sung. Người dùng truy cập vào Load Balancer. Tiếp tục được chuyển đến một máy chủ khác để thực hiện tác vụ. Dù máy chủ chính bị down hoặc nghẽn thì tất cả các yêu cầu của người dùng đều được giải quyết.

2. Lợi ích và cơ chế hoạt động của Load Balancing là gì?

- Lợi ích khi bạn sử dụng Load Balancing

+ Phân phối request của người dùng một cách hiệu quả đến nhiều Backend, từ đó giúp giảm tải lượng công việc phải thực hiện trên mỗi Backend

+ Đảm bảo tính sẵn sàng cao (high availability) và độ tin cậy (reliability) bằng việc chỉ gửi request tới các backend đang online. Từ đó giảm thiểu downtime khi một backend gặp sự cố

+ Tăng tính linh hoạt của toàn hệ thống khi có thể thêm hoặc bớt Backend bất cứ lúc nào

+ Tăng tính bảo mật của hệ thống vì backend lúc này thường sẽ nằm trong vùng DMZ (DeMilitary Zone - có thể hiểu là không được public), người dùng khi kết nối đến hệ thống là chỉ đang kết nối đến Load Balancer thay vì trực tiếp đến các Backend

Lợi ích và cơ chế hoạt động của Load Balancing là gì?

- Cơ chế hoạt động của Load Balancing

Khi một request được gửi đến hệ thống, request đó sẽ đến load balancer, tùy vào thuật toán đang được cấu hình trên load balancer mà request đó sẽ được chuyển đến các backend phù hợp để được xử lý. Sau khi được xử lý hoàn tất, response từ backend sẽ trả ngược về Load Balancer và về tới người dùng.

Load Balancer xác định một backend có đang online hay không bằng một thao tác gọi là Health check. Sau một khoảng thời gian nhất định, load balancer sẽ gửi tín hiệu tới các backend để kiểm tra xem backend có còn đang hoạt động hay không. Nếu backend không phản hồi thì load balancer sẽ loại bỏ backend đó ra khỏi pool. Tùy vào phần mềm / phần cứng dùng làm load balancer mà ta có thể quy định tần suất gửi health check đến backend.

>>> Xem thêm: Subdomain là gì? Cách tạo và trỏ Subdomain như thế nào? 

3. Những loại giao thức mà Load Balancer có thể xử lý 

Quản trị Load balancer tạo quy định chuyển tiếp đối với bốn loại giao thức chính:

- HTTP 

Chuẩn HTTP Balancing chỉ đạo yêu cầu dựa trên cơ chế HTTP chuẩn. Load Balancer đặt X-Forwarded-For, X-Forwarded-Proto, và tiêu đề X-Forwarded-Port để cung cấp cho các thông tin Backends về các yêu cầu ban đầu.

- HTTPS 

HTTPS Balancing với các chức năng tương tự như HTTP Balancing, với sự bổ sung của mã hóa. Mã hóa được xử lý theo một trong hai cách: hoặc là với passthrough SSL duy trì mã hóa tất cả con đường đến Backend hoặc chấm dứt SSL mà đặt gánh nặng giải mã vào Load Balancer nhưng gửi lưu lượng được mã hóa đến Backend.

Những loại giao thức mà Load Balancer có thể xử lý 

- TCP 

Đối với các ứng dụng không sử dụng HTTP hoặc HTTPS, lưu lượng TCP cũng có thể được cân bằng. Ví dụ, lượng truy cập vào một cụm cơ sở dữ liệu có thể được lan truyền trên tất cả các máy chủ.

- UDP 

Gần đây, một số Load Balancer đã thêm hỗ trợ cho cân bằng tải giao thức internet lõi như DNS và syslog sử dụng UDP.

Những quy tắc chuyển tiếp sẽ xác định các giao thức và cổng vào load balancer và bản đồ chúng đến các giao thức và cổng load balancer sẽ sử dụng để định tuyến lưu lượng trên backend.

>>> Xem thêm: tcpdump là gì ? Một số lệnh cơ bản sử dụng tcpdump trên Linux 

4. Các thuật toán Load Balancing là gì?

- Round robin 

Là thuật toán điều phối vòng tròn, các máy chủ sẽ được xem ngang hàng và sắp xếp theo một vòng quay. Các truy vấn dịch vụ sẽ lần lượt được gửi tới các máy chủ theo thứ tự sắp xếp.

- Weighted round robin

Tương tự như kỹ thuật Round Robin nhưng WRR còn có khả năng xử lý theo cấu hình của từng server đích. Mỗi máy chủ được đánh giá bằng một số nguyên (giá trị trọng số Weight – mặc định giá trị là 1). Một server có khả năng xử lý gấp đôi server khác sẽ được đánh số lớn hơn và nhận được số request gấp đôi từ bộ cân bằng tải.

- Least connections

Các requests sẽ được chuyển vào server có ít kết nối nhất trong hệ thống. Thuật toán này được coi như thuật toán động, vì nó phải đếm số kết nối đang hoạt động của server.

 

Các thuật toán Load Balancing là gì?

- Least response time

Đây là thuật toán dựa trên tính toán thời gian đáp ứng của mỗi server (response time), thuật toán này sẽ chọn server nào có thời gian đáp ứng nhanh nhất. Thời gian đáp ứng được xác định bởi khoảng thời gian giữa thời điểm gửi một gói tin đến server và thời điểm nhận được gói tin trả lời.

- IP Hash

Thuật toán xác định kết nối chính xác từ một IP của máy khách sẽ được kết nối trực tiếp đến một server backend.

>>> Xem thêm: DNS là gì? Trỏ DNS domain tên miền Là Gì, Hướng Dẫn Trỏ DNS từ ZoneDns

5. So sánh Load Balancer ở phần cứng và phần mềm

Việc cân bằng tải có thể được thực hiện ở cả phần cứng lẫn phần mềm. Tất nhiên, mỗi cách đều có những ưu điểm và nhược điểm riêng. Bảng so sánh sau sẽ cung cấp sơ lược đặc điểm chung của việc cân bằng tải ở phần cứng và phần mềm.

 

Phần cứng

Phần mềm 

Hiệu năng

Cao hơn

Thấp hơn

Tính linh hoạt

Kém linh hoạt

Linh hoạt hơn

Khả năng ảo hóa

Tích hợp sẵn

Không tích hợp sẵn

Kiến trúc

Nhiều dung lượng vật lý

Dung lượng vật lý thấp

Giá thành

Cao, đặc biệt là chi phí bảo trì

Tương đối thấp

Khả năng cấu hình

Thấp

Cao

6. Kết luận

Hy vọng rằng những thông tin được cung cấp trong bài viết sẽ giúp bạn đọc đã có được cái nhìn tổng quan về Load Balancing. Đây một trong những thành phần cơ sở hạ tầng quan trọng nhất của ngành mạng máy tính. Hãy lưu ý kỹ các thông tin về chúng để cải thiện hiệu suất cũng như khiến người dùng hài lòng hơn về dịch vụ mạng của mình.

Bài viết liên quan
26/11/2024
Control Panel VPS là công cụ quan trọng giúp quản trị và tối ưu hoá hoạt động của máy chủ ảo (VPS). Với sự đa dạng...
20/11/2024
Các fan cứng của Nhân Hòa đã biết Chương trình Black Friday 2024 sẽ có mức ưu đãi khủng là bao nhiêu % và áp dụng cho những...
19/11/2024
Đừng để website của bạn bị "tắt đèn" vì hết hạn tên miền! Hãy chủ động gia hạn tên miền để đảm bảo sự liên...
Chuyên nghiệp và tận tình
Hỗ Trợ Trực Tuyến 24/7
Đội ngũ chuyên gia giúp xử lý vấn đề kỹ thuật để website của bạn luôn hoạt động tốt và chạy nhanh. Bất kỳ lúc nào.
Kết nối với Nhân Hoà

Map Tầng 4 - Toà nhà 97 - 99 Láng Hạ, Quận Đống Đa, Thành Phố Hà Nội

Phone Điện thoại: 1900 6680 - (024) 7308 6680

Mail Mail: sales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Map 927/1 CMT8, Phường 7, Quận Tân Bình, Thành phố Hồ Chí Minh

Phone Điện thoại: 1900 6680 - (028) 7308 6680

Mail Mail: hcmsales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Map Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An

Phone Điện thoại: 1900 6680 - (024) 7308 6680 - nhánh 6

Mail Mail: contact@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Kết nối với Nhân Hoà
Gọi lại cho tôi
Gọi miễn phí
Gọi miễn phí
×
Thông báo

Đăng nhập thành công!