Cân bằng tải là gì?

Cân bằng tải là phương thức phân phối lưu lượng truy cập mạng đều nhau trên một vùng tài nguyên hỗ trợ ứng dụng. Các ứng dụng hiện đại phải xử lý đồng thời hàng triệu người dùng và trả về chính xác văn bản, video, hình ảnh và dữ liệu khác cho từng người dùng một cách nhanh chóng và đáng tin cậy. Để xử lý lưu lượng truy cập cao như vậy, hầu hết các ứng dụng sở hữu nhiều máy chủ tài nguyên, trong đó dữ liệu được sao chép giữa các máy chủ với nhau. Bộ cân bằng tải là thiết bị nằm giữa người dùng và nhóm máy chủ, đồng thời đóng vai trò là bộ điều giải, đảm bảo rằng tất cả các máy chủ tài nguyên đều được sử dụng như nhau.

Cân bằng tải có lợi ích gì?

Cân bằng tải định hướng và kiểm soát lưu lượng truy cập Internet giữa các máy chủ ứng dụng và đối tượng truy cập hoặc máy khách của chúng. Qua đó cải thiện mức độ sẵn sàng, khả năng điều chỉnh quy mô, bảo mật và hiệu năng của ứng dụng.

Mức độ sẵn sàng của ứng dụng

Lỗi hoặc hoạt động bảo trì máy chủ có thể tăng thời gian ngừng hoạt động của ứng dụng, khiến đối tượng truy cập không thể dùng ứng dụng của bạn. Bộ cân bằng tải tăng khả năng chịu lỗi của hệ thống của bạn bằng cách tự động phát hiện vấn đề của máy chủ và chuyển hướng lưu lượng truy cập của máy khách sang những máy chủ khả dụng. Bạn có thể sử dụng cân bằng tải để thực hiện những tác vụ sau dễ dàng hơn:

  • Chạy bảo trì hoặc nâng cấp máy chủ của ứng dụng với thời gian ứng dụng ngừng hoạt động bằng không
  • Cung cấp khả năng phục hồi sau thảm họa tự động sang các trang web sao lưu
  • Thực hiện kiểm tra tình trạng và ngăn chặn các vấn đề có thể gây ra thời gian ngừng hoạt động

Khả năng điều chỉnh quy mô ứng dụng

Bạn có thể sử dụng bộ cân bằng tải để định hướng lưu lượng truy cập mạng một cách thông minh giữa nhiều máy chủ. Các ứng dụng của bạn có thể xử lý hàng nghìn yêu cầu của máy khách vì cân bằng tải thực hiện những việc sau:

  • Ngăn chặn tình trạng tắc nghẽn lưu lượng truy cập tại bất kỳ máy chủ nào
  • Dự đoán lưu lượng truy cập ứng dụng để bạn có thể thêm hoặc loại bỏ những máy chủ khác nhau, nếu cần
  • Thêm phần dự phòng vào hệ thống của bạn để có thể tự tin điều chỉnh quy mô

Bảo mật ứng dụng

Bộ cân bằng tải đi kèm với những tính năng bảo mật tích hợp để thêm một lớp bảo mật khác cho các ứng dụng Internet của bạn. Chúng là công cụ hữu ích để đối phó với các cuộc tấn công từ chối dịch vụ phân tán, trong đó những kẻ tấn công gửi dồn dập hàng triệu yêu cầu đồng thời tới máy chủ ứng dụng, từ đó gây ra lỗi máy chủ. Bộ cân bằng tải cũng có thể thực hiện những việc sau:

  • Giám sát lưu lượng truy cập và chặn nội dung độc hại
  • Tự động chuyển hướng lưu lượng truy cập từ cuộc tấn công sang nhiều máy chủ backend để giảm tối thiểu tác động
  • Định tuyến lưu lượng truy cập thông qua một nhóm tường lửa mạng để tăng cường bảo mật

Hiệu năng của ứng dụng

Bộ cân bằng tải cải thiện hiệu năng của ứng dụng bằng cách tăng thời gian phản hồi và giảm độ trễ mạng. Chúng thực hiện một số tác vụ quan trọng, chẳng hạn như:

  • Phân phối tải đồng đều giữa các máy chủ để cải thiện hiệu năng ứng dụng
  • Chuyển hướng yêu cầu của máy khách sang một máy chủ có vị trí địa lý gần hơn để giảm độ trễ
  • Đảm bảo độ tin cậy và hiệu năng của các tài nguyên điện toán vật lý và dạng ảo

Cân bằng tải hoạt động như thế nào?

Các công ty thường để ứng dụng chạy trên nhiều máy chủ. Việc sắp xếp máy chủ như vậy được gọi là cụm máy chủ. Trước tiên, yêu cầu của người dùng gửi tới ứng dụng sẽ đi đến bộ cân bằng tải. Sau đó, bộ cân bằng tải định tuyến từng yêu cầu tới một máy chủ duy nhất, phù hợp nhất trong cụm máy chủ để xử lý yêu cầu.

Cân bằng tải giống như công việc của một quản lý nhà hàng. Hãy xem xét một nhà hàng có năm nhân viên phục vụ bàn. Nếu khách hàng được phép chọn nhân viên phục vụ bàn của họ, một hoặc hai nhân viên có thể bị quá tải công việc, trong khi đó, những người khác lại nhàn rỗi. Để tránh tình huống này, quản lý nhà hàng chỉ định khách hàng cho nhân viên phục vụ bàn cụ thể, phù hợp nhất để phục vụ khách hàng.

Thuật toán cân bằng tải là gì?

Thuật toán cân bằng tải là một tập hợp các quy tắc mà bộ cân bằng tải tuân theo để xác định máy chủ phù hợp nhất cho từng yêu cầu của máy khách khác nhau. Các thuật toán cân bằng tải gồm có hai loại chính.

Cân bằng tải tĩnh

Các thuật toán cân bằng tải tĩnh tuân theo những quy tắc cố định và độc lập với trạng thái máy chủ hiện tại. Sau đây là những ví dụ về cân bằng tải tĩnh.

Phương thức round robin (luân chuyển vòng)

Các máy chủ có địa chỉ IP cho máy khách biết vị trí gửi yêu cầu. Địa chỉ IP là một số dài, khó nhớ. Để cho dễ thực hiện, Hệ thống tên miền ánh xạ tên trang web với máy chủ. Khi bạn nhập aws.amazon.com vào trình duyệt của mình, trước tiên, yêu cầu sẽ đi tới máy chủ định danh của chúng tôi. Máy chủ này trả về địa chỉ IP của chúng tôi cho trình duyệt của bạn.

Trong phương thức luân chuyển vòng, máy chủ định danh có thẩm quyền thực hiện việc cân bằng tải thay vì phần cứng hoặc phần mềm chuyên dụng. Máy chủ định danh trả về địa chỉ IP của các máy chủ khác nhau trong cụm máy chủ theo lượt hoặc theo kiểu luân chuyển vòng.

Phương thức weighted round robin (luân chuyển vòng theo trọng số)

Trong cân bằng tải luân chuyển vòng theo trọng số, bạn có thể chỉ định trọng số khác nhau cho từng máy chủ dựa trên mức độ ưu tiên hoặc công suất của máy chủ. Các máy chủ có trọng số cao hơn sẽ tiếp nhận lưu lượng truy cập tới ứng dụng nhiều hơn từ máy chủ định danh.

Phương thức băm IP

Trong phương thức băm IP, bộ cân bằng tải thực hiện một phép tính toán học, gọi là băm, cho địa chỉ IP máy khách. Phương thức này chuyển đổi địa chỉ IP máy khách thành một số, sau đó ánh xạ số này tới các máy chủ riêng lẻ.

Cân bằng tải động 

Thuật toán cân bằng tải động kiểm tra trạng thái hiện tại của các máy chủ trước khi phân phối lưu lượng truy cập. Sau đây là một số ví dụ về thuật toán cân bằng tải động.

Phương thức least connection (kết nối tối thiểu)

Kết nối là một kênh giao tiếp mở giữa một máy khách và một máy chủ. Khi máy khách gửi yêu cầu đầu tiên tới máy chủ, máy khách và máy chủ sẽ xác thực và thiết lập một kết nối hoạt động giữa hai bên. Trong phương thức kết nối tối thiểu, bộ cân bằng tải kiểm tra máy chủ có ít kết nối hoạt động nhất và gửi lưu lượng truy cập tới những máy chủ đó. Phương thức này giả định mọi kết nối đòi hỏi công suất xử lý như nhau cho tất cả các máy chủ.

Phương thức weighted least connection (kết nối tối thiểu theo trọng số)

Các thuật toán kết nối tối thiểu theo trọng số giả định một số máy chủ có thể xử lý nhiều kết nối hoạt động hơn so với những máy chủ khác. Do đó, bạn có thể chỉ định trọng số hoặc công suất khác nhau cho từng máy chủ, đồng thời, bộ cân bằng tải gửi các yêu cầu mới của máy khách tới máy chủ có số kết nối tối thiểu theo công suất.

Phương thức least response time (thời gian phản hồi tối thiểu)

Thời gian phản hồi là tổng thời gian mà máy chủ tiêu tốn để xử lý những yêu cầu tới và gửi đi phản hồi. Phương thức thời gian phản hồi tối thiểu kết hợp thời gian phản hồi của máy chủ và các kết nối hoạt động để xác định máy chủ phù hợp nhất. Bộ cân bằng tải sử dụng thuật toán này để đảm bảo dịch vụ nhanh hơn cho mọi người dùng.

Phương thức dựa trên tài nguyên

Trong phương thức dựa trên tài nguyên, bộ cân bằng tải phân phối lưu lượng truy cập bằng cách phân tích tải máy chủ hiện tại. Phần mềm chuyên dụng gọi là tác tử chạy trên mỗi máy chủ và tính toán mức sử dụng tài nguyên của máy chủ, chẳng hạn như công suất điện toán và bộ nhớ. Sau đó, bộ cân bằng tải sẽ kiểm tra tác tử để gom đủ tài nguyên còn trống trước khi phân phối lưu lượng truy cập cho máy chủ đó.

Cân bằng tải gồm những loại nào?

Chúng ta có thể phân loại cân bằng tải thành ba loại chính, tùy thuộc vào yếu tố được bộ cân bằng tải kiểm tra trong yêu cầu của máy khách để chuyển hướng lưu lượng truy cập.

Cân bằng tải ứng dụng

Các ứng dụng hiện đại phức tạp sở hữu một số cụm máy chủ, trong đó nhiều máy chủ chuyên dụng cho một chức năng ứng dụng duy nhất. Trình cân bằng tải ứng dụng xem xét nội dung của yêu cầu, chẳng hạn như tiêu đề HTTP hoặc ID phiên SSL để chuyển hướng lưu lượng truy cập. 

Ví dụ: một ứng dụng thương mại điện tử có một danh mục sản phẩm, giỏ hàng và các chức năng thanh toán. Trình cân bằng tải ứng dụng gửi yêu cầu duyệt sản phẩm cho các máy chủ chứa hình ảnh và video mà không cần duy trì kết nối mở. Bằng cách so sánh, trình cân bằng tải ứng dụng gửi các yêu cầu giỏ hàng tới máy chủ có thể duy trì nhiều kết nối máy khách và lưu lại dữ liệu của giỏ hàng trong một thời gian dài.

Cân bằng tải mạng

Các bộ cân bằng tải mạng kiểm tra địa chỉ IP và những thông tin khác của mạng để chuyển hướng lưu lượng truy cập sao cho tối ưu. Chúng theo dõi nguồn lưu lượng truy cập ứng dụng và có thể chỉ định một địa chỉ IP tĩnh cho một số máy chủ. Các bộ cân bằng tải mạng sử dụng thuật toán cân bằng tải tĩnh và động được mô tả trước đó để cân bằng tải máy chủ.

Cân bằng tải máy chủ toàn cầu

Cân bằng tải máy chủ toàn cầu diễn ra trên một số máy chủ phân tán theo vị trí địa lý. Ví dụ: các công ty có thể sở hữu các máy chủ ở nhiều trung tâm dữ liệu, tại những quốc gia khác nhau cũng như tại các nhà cung cấp dịch vụ đám mây bên thứ ba trên toàn cầu. Trong trường hợp này, các bộ cân bằng tải cục bộ quản lý tải ứng dụng trong một khu vực hoặc một vùng. Chúng cố gắng chuyển hướng lưu lượng truy cập tới một máy chủ đích có vị trí địa lý gần máy khách hơn. Chúng chỉ có thể chuyển hướng lưu lượng truy cập tới các máy chủ nằm ngoài vùng địa lý của máy khách trong trường hợp máy chủ bị lỗi.

Cân bằng tải DNS

Trong cân bằng tải DNS, bạn cấu hình miền của mình để định hướng các yêu cầu mạng trên một vùng tài nguyên thuộc miền của bạn. Miền có thể tương ứng với một trang web, một hệ thống thư, một máy chủ in hoặc một dịch vụ khác có thể truy cập qua Internet. Cân bằng tải DNS hữu ích cho việc duy trì độ sẵn sàng của ứng dụng và cân bằng lưu lượng truy cập mạng trên một vùng tài nguyên được phân phối toàn cầu. 

Công nghệ cân bằng tải gồm những loại nào?

Bộ cân bằng tải thuộc có hai loại: bộ cân bằng tải phần cứng và bộ cân bằng tải phần mềm.

Bộ cân bằng tải phần cứng

Bộ cân bằng tải dựa trên phần cứng là thiết bị phần cứng có thể xử lý và chuyển hướng hàng gigabyte lưu lượng truy cập đến hàng trăm máy chủ khác nhau một cách bảo mật. Bạn có thể lưu trữ bộ cân bằng tải phần cứng trong các trung tâm dữ liệu của mình và sử dụng phương thức ảo hóa để tạo nhiều bộ cân bằng tải kỹ thuật số hoặc dạng ảo để có thể quản lý tập trung.

Bộ cân bằng tải phần mềm

Bộ cân bằng tải dựa trên phần mềm là ứng dụng thực hiện mọi chức năng cân bằng tải. Bạn có thể cài đặt các bộ cân bằng tải phần mềm trên bất kỳ máy chủ nào hoặc truy cập chúng dưới dạng dịch vụ của bên thứ ba được quản lý hoàn toàn.

So sánh bộ cân bằng tải phần cứng với bộ cân bằng tải phần mềm

Bộ cân bằng tải phần cứng đòi hỏi đầu tư ban đầu, cấu hình và liên tục bảo trì. Bạn cũng có thể không sử dụng hết công suất bộ cân bằng tải phần cứng, đặc biệt nếu bạn chỉ mua một bộ cân bằng tải để xử lý lưu lượng truy cập tăng đột biến vào giờ cao điểm. Nếu lượng lưu lượng truy cập tăng đột ngột, vượt quá công suất hiện tại của bộ cân bằng tải phần cứng, việc này sẽ ảnh hưởng tới người dùng cho đến khi bạn mua và thiết lập một bộ cân bằng tải khác.

Ngược lại, bộ cân bằng tải dựa trên phần mềm linh hoạt hơn nhiều. Chúng có thể dễ dàng tăng hoặc giảm quy mô theo tài nguyên, đồng thời tương thích hơn với các môi trường điện toán đám mây hiện đại. Các bộ cân bằng tải phần mềm cũng tốn ít chi phí hơn để thiết lập, quản lý và sử dụng theo thời gian.

AWS có thể giúp cân bằng tải như thế nào?

Cân bằng tải linh hoạt (ELB) là dịch vụ cân bằng tải được quản lý hoàn toàn, tự động phân phối lưu lượng truy cập tới ứng dụng cho nhiều đích và thiết bị ảo trên AWS và tài nguyên tại chỗ. Bạn có thể sử dụng dịch vụ này để điều chỉnh quy mô các ứng dụng hiện đại mà không cần cấu hình phức tạp hoặc cổng API. Bạn có thể sử dụng ELB để thiết lập bốn loại bộ cân bằng tải phần mềm khác nhau.

  • Trình cân bằng tải ứng dụng định tuyến lưu lượng truy cập cho các yêu cầu dựa trên HTTP.

  • Bộ cân bằng tải mạng định tuyến lưu lượng truy cập dựa trên các địa chỉ IP. Bộ cân bằng tải này rất phù hợp để cân bằng các yêu cầu dựa trên TCP và Giao thức dữ liệu người dùng (UDP).

  • Bộ cân bằng tải cổng định tuyến lưu lượng truy cập tới các thiết bị ảo của bên thứ ba. Bộ cân bằng tải này rất phù hợp để kết hợp thiết bị của bên thứ ba, chẳng hạn như tường lửa mạng vào lưu lượng truy cập mạng của bạn với quy mô linh hoạt và dễ quản lý.

  • Bộ cân bằng tải cổ điển định tuyến lưu lượng truy cập tới các ứng dụng trong mạng Amazon EC2 Classic, một mạng phẳng, duy nhất mà bạn chia sẻ với những khách hàng khác.

Bạn có thể chọn bộ cân bằng tải dựa trên những yêu cầu của mình. Ví dụ: Terminix, một thương hiệu kiểm soát côn trùng gây hại toàn cầu, sử dụng Bộ cân bằng tải cổng để xử lý thêm 300% thông lượng. Second Spectrum, một công ty cung cấp công nghệ theo dõi dựa trên trí tuệ nhân tạo dành cho các chương trình phát sóng thể thao, sử dụng AWS Load Balancer Controller để giảm 90% chi phí lưu trữ. Code.org, một tổ chức phi lợi nhuận có quyết tâm mở rộng việc tiếp cận với ngành khoa học máy tính ở trường học, sử dụng Trình cân bằng tải ứng dụng để xử lý lưu lượng truy cập tăng đột biến 400% một cách hiệu quả trong các sự kiện viết mã trực tuyến.

Bắt đầu cân bằng tải bằng cáchtạo tài khoản AWS ngay hôm nay!

Các bước tiếp theo để sử dụng thuật toán Cân bằng tải trên AWS

Tham khảo các tài nguyên bổ sung liên quan đến sản phẩm
Tìm hiểu thêm về các Dịch vụ điện toán 
Đăng ký tài khoản miễn phí

Nhận ngay quyền sử dụng bậc miễn phí của AWS. 

Đăng ký 
Bắt đầu xây dựng trong bảng điều khiển

Bắt đầu xây dựng với AWS trên Bảng điều khiển quản lý AWS.

Đăng nhập