Điểm khác biệt giữa cân bằng tải ứng dụng, mạng và cổng là gì?

Trình cân bằng tải ứng dụng (ALB), bộ cân bằng tải mạng (NLB) và bộ cân bằng tải cổng (GLB) là ba loại bộ cân bằng tải được sử dụng trong đám mây. Cân bằng tải là quá trình phân phối đều lưu lượng truy cập mạng trên một vùng tài nguyên hỗ trợ ứng dụng. Các ứng dụng hiện đại xử lý đồng thời hàng triệu người dùng. Khối lượng lưu lượng truy cập cao này yêu cầu nhiều máy chủ tài nguyên với dữ liệu trùng lặp. Để chuyển hướng lưu lượng ứng dụng, ALB kiểm tra nội dung được yêu cầu, chẳng hạn như tiêu đề HTTP hoặc ID phiên SSL. NLB 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. GLB hoạt động như một cổng mạng minh bạch (một điểm vào và ra duy nhất cho tất cả lưu lượng truy cập) và phân phối lưu lượng truy cập trong khi điều chỉnh quy mô các thiết bị ảo của bạn theo nhu cầu.

Tìm hiểu về cân bằng tải

Cách thức hoạt động: ALB, NLB và GLB

ALB, NLB và GLB cung cấp các chức năng khác nhau. Do đó, các bộ cân bằng tải này hoạt động theo những cách hơi khác nhau và bao gồm các thành phần khác biệt. 

Cách thức hoạt động của trình cân bằng tải ứng dụng

ALB phân phối lưu lượng truy cập đến trên nhiều mục tiêu, chẳng hạn như các phiên bản EC2. 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. ALB 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ủ 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.

ALB có một thành phần trình xử lý sự kiện kiểm tra các yêu cầu kết nối từ máy khách. Bạn có thể xác định các quy tắc cho trình xử lý sự kiện xác định cách bộ cân bằng tải định tuyến các yêu cầu đến các mục tiêu đã đăng ký. Một nhóm mục tiêu sắp xếp các mục tiêu đã đăng ký thành các nhóm. Bạn có thể xác định các quy tắc để định tuyến lưu lượng truy cập thông thường đến toàn bộ nhóm. Ví dụ: bạn có thể tạo một nhóm mục tiêu cho các yêu cầu chung và các nhóm mục tiêu khác cho các yêu cầu đối với vi dịch vụ cho ứng dụng của bạn.

Sơ đồ sau đây cho thấy cách ALB hoạt động.

Cách thức hoạt động của bộ cân bằng tải mạng

NLB phân phối lưu lượng truy cập dựa trên điều kiện mạng. Ví dụ: nếu bạn có nhiều máy chủ cơ sở dữ liệu với dữ liệu trùng lặp, NLB sẽ định tuyến lưu lượng truy cập dựa trên địa chỉ IP máy chủ đã xác định trước hoặc độ sẵn sàng của máy chủ.

NLB theo dõi tình trạng của các mục tiêu đã đăng ký và chỉ định tuyến lưu lượng truy cập đến các mục tiêu có tình trạng tốt. Sau khi nhận được yêu cầu kết nối, bộ cân bằng tải sẽ chọn một mục tiêu từ nhóm mục tiêu cho quy tắc mặc định. Bộ cân bằng tải cố gắng mở kết nối TCP đến mục tiêu đã chọn trên cổng đã chỉ định trong cấu hình trình xử lý sự kiện. Mỗi kết nối TCP riêng lẻ được định tuyến đến một mục tiêu duy nhất trong suốt vòng đời của kết nối. Tương tự, bạn cũng có thể định tuyến luồng UDP một cách nhất quán đến một mục tiêu duy nhất trong suốt vòng đời của luồng. 

Cách thức hoạt động của bộ cân bằng tải cổng

Với GLB, bạn có thể triển khai, quản lý và điều chỉnh quy mô các thiết bị ảo, chẳng hạn như phát hiện và ngăn chặn xâm nhập, tường lửa và hệ thống kiểm tra gói sâu. GLB tạo ra một điểm vào và thoát duy nhất cho tất cả lưu lượng truy cập thiết bị và điều chỉnh quy mô các thiết bị ảo của bạn theo nhu cầu. Bạn cũng có thể sử dụng GLB để trao đổi lưu lượng truy cập qua ranh giới đám mây riêng ảo (VPC). 

Trong GLB, bạn thiết lập các quy tắc thông qua bảng định tuyến. Tùy thuộc vào các quy tắc do bạn thiết lập, GLB chọn các nhóm mục tiêu khác nhau để chuyển tiếp lưu lượng truy cập. GLB nhận các gói IP và chuyển tiếp lưu lượng truy cập đến các nhóm mục tiêu cụ thể.

Điểm khác biệt chính: ALB, NLB và GLB

ALB, NLB và GLB hoạt động ở các lớp giao tiếp mạng khác nhau. ALB hoạt động trên lớp 7 của OSI và cho phép thao tác và định tuyến lưu lượng ở cấp ứng dụng. NLB hoạt động trên lớp 4 để quản lý lưu lượng truy cập cấp mạng dựa trên các cổng và địa chỉ IP. GLB hoạt động trên các lớp 3 và 7, cung cấp các dịch vụ cân bằng và định tuyến ở cấp mạng cùng chức năng cổng.

Tìm hiểu về mô hình OSI

Dưới đây là những điểm khác biệt chính khác giữa ALB, NLB và GLB.

Các loại mục tiêu

Loại mục tiêu là điểm cuối mà mỗi bộ cân bằng tải trong số này định tuyến lưu lượng truy cập tới đó. ALB xử lý các loại mục tiêu địa chỉ IP, phiên bản và AWS Lambda. NLB xử lý IP, phiên bản và cũng có thể định tuyến lưu lượng truy cập đến ALB cho các yêu cầu phức tạp hơn. GLB xử lý IP và các loại mục tiêu phiên bản.

Tìm hiểu về các phiên bản trong điện toán đám mây

Thao tác proxy

Hành động mà bộ cân bằng tải thực hiện khi nhận được yêu cầu khách hàng phụ thuộc vào một trong hai điều:

  • Nếu bộ cân bằng tải hoạt động như một proxy và sau đó chấm dứt kết nối của máy khách
  • Nếu bộ cân bằng tải chuyển tiếp yêu cầu mà không kết thúc luồng

Việc chấm dứt luồng cho phép bộ cân bằng tải thực hiện các chức năng quản lý lưu lượng truy cập bổ sung, chẳng hạn như chấm dứt SSL, độ bền của phiên và định tuyến dựa trên nội dung. 

ALB chấm dứt kết nối máy khách và sau đó thiết lập kết nối mới, hoạt động như một proxy. NLB cũng chấm dứt kết nối máy khách và tạo một kết nối mới thay mặt cho máy khách. Tuy nhiên, GLB không hoạt động như một proxy hoặc chấm dứt kết nối mà trực tiếp chuyển tiếp lưu lượng truy cập.

Giao thức

Các bộ cân bằng tải này hỗ trợ các giao thức khác nhau để xử lý các loại lưu lượng truy cập cụ thể và thực hiện các chức năng nâng cao. ALB hỗ trợ giao thức HTTP, HTTPS và gRPC cho lưu lượng truy cập dựa trên web. NLB hỗ trợ các giao thức TCP, UDP và TLS, bao gồm các phân phối lưu lượng truy cập ở cấp mạng. Cuối cùng, GLB bao gồm định tuyến dựa trên IP, xử lý mọi giao thức dựa trên IP. 

Thuật toán

Những bộ cân bằng tải này sử dụng các loại thuật toán khác nhau để phân phối đều lưu lượng truy cập đều tới các mục tiêu. ALB sử dụng thuật toán round-robin theo mặc định, định tuyến lần lượt lưu lượng truy cập. Tuy nhiên, NLB sử dụng thuật toán flow hash để định tuyến lưu lượng truy cập đến các mục tiêu cụ thể theo cách thức đã xác định trước. GLB sử dụng tra cứu bảng định tuyến để xác định vị trí định tuyến lưu lượng truy cập. 

Thời điểm nên sử dụng: ALB, NLB và GLB

ALB là lựa chọn phù hợp khi bạn cần quản lý và định tuyến lưu lượng truy cập cấp ứng dụng một cách linh hoạt. Bộ cân bằng này phù hợp nhất với các vi dịch vụ, môi trường trong bộ chứa và các ứng dụng web. Nhờ các tính năng như chấm dứt SSL, độ bền của phiên và định tuyến dựa trên nội dung, bộ cân bằng này có thể hỗ trợ trong các tình huống định tuyến phức tạp. 

NLB là lựa chọn phù hợp nhất để cân bằng cấp mạng với hiệu năng cao, độ trễ thấp và có thể điều chỉnh quy mô. Các ứng dụng phân phối lưu lượng trên lớp truyền tải sử dụng NLB, đặc biệt là cân nhắc độ tin cậy của bộ cân bằng này. Hệ thống trò chơi, dịch vụ phát trực tuyến trên phương tiện truyền thông các hệ thống IoT lớn đều sử dụng NLB. 

GLB là lựa chọn lý tưởng khi bạn cân bằng ở cấp cổng mạng. Ví dụ: GLB hoạt động hiệu quả nếu bạn quản lý lưu lượng giữa môi trường đám mây và tại chỗ hoặc trên các khu vực khác nhau. Vì bộ cân bằng này kết hợp cân bằng các lớp 3 và 4 của OSI nên có thể định tuyến lưu lượng giữa các khu vực và mạng riêng biệt. Vì bộ cân bằng này hỗ trợ định tuyến dựa trên IP nên có thể phân phối lưu lượng qua các cổng ảo, do đó có thể gia tăng khả năng điều chỉnh quy mô và độ sẵn sàng.

Tóm tắt điểm khác biệt: ALB, NLB và GLB

 

Trình cân bằng tải ứng dụng (ALB)

Bộ cân bằng tải mạng (NLB)

Bộ cân bằng tải cổng (GLB)

Lớp OSI

Hoạt động trên lớp 7, lớp ứng dụng.

Hoạt động trên lớp 4, lớp vận chuyển.

Hoạt động trên lớp mạng, lớp 3 và lớp 7.

Các loại mục tiêu

Hoạt động với các loại mục tiêu IP, phiên bản và lambda.

Hoạt động với các loại mục tiêu IP, phiên bản và ALB.

Hoạt động với các loại mục tiêu IP và phiên bản.

Thao tác proxy

Kết thúc kết nối.

Kết thúc kết nối.

Không chấm dứt lưu lượng.

Giao thức

Hỗ trợ các giao thức HTTP, HTTPS và gRPC.

Hỗ trợ các giao thức TCP, UDP và TLS.

Hỗ trợ định tuyến dựa trên IP. 

Thuật toán

Round-robin.

Flow hash.

Tra cứu bảng định tuyến.

AWS có thể hỗ trợ các yêu cầu cân bằng tải của bạn như thế nào?

Cân bằng tải linh hoạt (ELB) là một dịch vụ cân bằng tải được quản lý toàn phần. Dịch vụ này tự động phân phối lưu lượng ứng dụng đến cho nhiều mục tiêu và thiết bị ảo trên Amazon Web Services (AWS) và tài nguyên tại chỗ. Ngoài ra, dịch vụ này còn hỗ trợ cân bằng tải giữa các vùng trên các Khu vực AWS. Bạn có thể sử dụng ELB để thiết lập ALB, NLB hoặc GLB theo yêu cầu của mình. 

ALB là một thành phần của ELB. ELB cũng hỗ trợ NLB, GLB và Bộ cân bằng tải cổ điển. Những bộ cân bằng tải này là các điểm tương tác với khách hàng và giúp cải thiện khả năng điều chỉnh quy mô của ứng dụng với quản lý an toàn. Bạn có thể chọn một hoặc nhiều bộ cân bằng tải và định cấu hình các bộ cân bằng này khi thiết lập ELB cho môi trường đám mây của mình.

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

Các bước tiếp theo để sử dụng AWS