Load Balancing là gì? Tìm hiểu 5 loại Load Balancing | Vietnix

Load Balancing là gì? Ứng dụng của Load Balancing

26/01/2021

Trong mạng máy tính, việc đảm bảo các máy chủ hoạt động đồng bộ, hiệu quả là việc rất quan trọng. Load balancing là một tính năng giúp thực hiện việc đó. Vậy load balancing là gì và vì sao cần đến nó?

Load Balancing là gì?

Load Balancing (cân bằng tải) là một kỹ thuật bảo đảm máy chủ không bị quá tải bởi lượng truy cập. Với các biện pháp cân bằng tải, khối lượng công việc, truy cập của người dùng được phân chia đều trên các máy chủ. Việc này cung cấp khả năng chịu lỗi cao, đảm bảo tính sẵn sàng phục vụ của hệ thống.

Trong giai đoạn đầu của thời đại công nghệ số, một máy chủ duy nhất khó có thể xử lý lưu lượng truy cập lớn. Các truy cập đồng loạt với khối lượng lớn khiến cho máy chủ thường xuyên bị quá tải. Điều này dẫn đến sự cần thiết của việc cân bằng tải – load balancing.

load balancing

Cách thức hoạt động của Load Balancing

Thông thường, một quá trình load balancing cơ bản sẽ trải qua các bước như sau:

Website tiếp nhận lượng truy cập

Đầu tiên, website của bạn sẽ nhận một lượng lớn yêu cầu từ khách truy cập. Các yêu cầu này có thể cùng một lúc đi đến máy chủ thông qua internet.

Lưu lượng được phân phối trên các tài nguyên máy chủ

Sau khi tiếp nhận, phần cứng hoặc phần mềm load balancing xử lý từng yêu cầu, sau đó điều hướng nó đến các máy chủ thích hợp.

Mỗi máy chủ tiếp nhận và xử lý một khối lượng phù hợp

Sau khi máy chủ nhận được yêu cầu, nó có thể tiếp nhận yêu cầu hoặc gửi hoặc gửi phản hồi lại với load balancer trong trường hợp không thể tiếp nhận thêm yêu cầu. Việc này giúp tránh sự quá tải ở các nút.

Máy chủ trả về yêu cầu cho người dùng

Quá trình được hoàn tất theo thứ tự ngược lại, máy chủ gửi phản hồi trở lại cho người dùng.

Các bước trên chỉ có thể hoàn thành nếu có hệ thống có nhiều tài nguyên như: nhiều máy chủ, mạng hoặc máy chủ ảo. Mặt khác, nếu chỉ có một máy chủ, tất cả yêu cầu sẽ bị dồn xử lý vào một máy chủ duy nhất. Khi đó việc cân bằng tải không còn cần thiết nữa.

Lợi ích của Load Balancing là gì?

Một bộ cân bằng tải có thể hoạt động như một “cảnh sát giao thông” hay một tấm lọc các lưu lượng truyền qua mạng. Nó ngăn chặn việc quá tải ở các máy chủ. Do đó, mỗi máy chủ đều có thể hoạt động hiệu quả.

Gần đây, load balancing đã trở thành tính năng của một loại công nghệ có quy mô rộng lớn – ADC (Application Delivery Controllers), tạm dịch “Bộ điều khiển phân phối ứng dụng.” ADC cung cấp cho máy chủ nhiều tính năng cân bằng tải nâng cao. Từ đó đảm bảo cân bằng khối lượng công việc, tăng chất lượng phục vụ của ứng dụng.

Ngoài việc ngăn chặn các tài nguyên bị quá tải, load balancing còn hiệu quả cho việc bảo mật, đảm bảo năng suất. ADC thường được sử dụng như một công cụ, điểm kiểm soát bảo mật, giúp ngăn chặn các mối đe dọa. Trong đó gồm cả việc ngăn chặn Tấn công từ chối dịch vụ (Denial of service attack – DOS attack).

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. Từ đó giúp người dùng có thể lựa chọn phương thức phù hợp với nhu cầu của mình.

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

Bảng so sánh load balancer dùng phần cứng và phần mềm

Phân loại cân bằng tải

Có nhiều cách cấu hình cân bằng tải, tùy thuộc vào các tính năng đặc thù. Bao gồm năm loại khác nhau như sau:

Server Load Balancing

Với Server Load Balancing, mục tiêu là phân chia khối lượng công việc ra nhiều máy chủ dựa theo năng lực và tính khả dụng của chúng. Server Load Balancing dựa vào các thông tin ở tầng Application để điều hướng truy cập. Server Load Balancing còn được biết đến như Layer 7 Load Balancing vì chúng sử dụng thông tin của tầng ứng dụng.

Network Load Balancing

Network Load Balancing phân chia lưu lượng truy cập giữa các địa chỉ IP, switches, routers sử dụng thiết bị một cách hiệu quả và nâng cao tính ổn định. Các cấu hình này sẽ được thực hiện ở tầng Transport, do đó, Network Load Balancing còn được gọi với tên Layer 4 Load Balancing.

Global Server Load Balancing (GSLB)

Trong Global Server Load Balancing, một trung tâm điều hành sẽ xử lý việc cân bằng tải giữa khắp nơi trên toàn thế giới thông qua một loạt những thiết bị câng bằng tải Layer 4 và Layer 7. Trong việc triển khai GSLB, thường sẽ có các thiết bị ADC ở cấp độ toàn cầu lẫn cục bộ, nơi lưu lượng truy cập được phân phối đến.

Container Load Balancing

Container Load Balancing cung cấp các phiên bản ảo hóa, riêng biệt. Phổ biến nhất hiện nay là hệ thống Kubernetes orchestration, hệ thống này có thể phân chia load giữa các container pods với nhau để giúp nâng cao tính sẵn sàng.

Cloud Load Balancing

Trong hạ tầng Cloud, có tương đối nhiều lựa chọn cho việc cân bằng tải. Cloud Load Balancing bao gồm cả Network Load Balancing (Layer-4) và Application Load Balancing (Layer-7).

Các thuật toán load balancing

Tùy thuộc vào các cấu hình cân bằng tải đang được sử dụng, có nhiều thuật toán giúp phân chia tải:

Round Robin

Một tập hợp các IP của máy chủ hoặc thiết bị mạng được cung cấp, sau đó, lưu lượng truy cập được chuyển hướng đến các tài nguyên theo thứ tự được liệt kê sẵn.

Weighted Round Robin

Mỗi máy tính hoặc tài nguyên mạng trong danh sách được cung cấp một điểm trọng số. Trong đó, máy có trọng số cao nhất sẽ nhận được lưu lượng truy cập lớn nhất.

Least Connection

Trong phương pháp này, tài nguyên có số lượng kết nối ít nhất sẽ được lựa chọn để tiếp nhận các yêu cầu mới.

Weighted Response Time

Thông tin về thời gian phản hồi của máy chủ được sử dụng để định hướng lưu lượng truy cập. Trong đó, máy chủ có thời gian phản hồi chậm nhất sẽ nhận lưu lượng thấp nhất.

Source IP Hash

Với phương pháp này, địa chỉ IP của máy khách được tính tới bằng một thuật toán mã hóa. Việc này giúp cho máy khách duy trì kết nối với cùng một máy chủ giữa các lần truy cập.

Vietnix vừa chia sẻ về 5 loại Load Balancing và ứng dụng của nó, hy vọng qua bài viết này bạn có thể nắm rõ được cách thức hoạt động cũng như lợi ích mà Load Balancing mang lại. Cảm ơn các bạn đã dành thời gian đọc bài viết này!

Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments