NLB hay Network Load Balancing là một trong những khái niệm quen thuộc khi tìm hiểu về máy chủ, hệ thống mạng. Trong bài viết này Viễn Thông Xanh sẽ cùng bạn tìm hiểu chi tiết khái niệm về NLB và những khía cạnh xung quanh định nghĩa này!
Mục Lục
NLB (Network Load Balancing) là gì?
Bạn đã từng đăng ký tín chỉ trên website của các trường đại học bao giờ chưa? Nếu rồi thì chắc chắn bạn đã quá quen với câu nói “web sập rồi” và công cuộc bấm F5 liên tục trong vô vọng.
Hay đơn giản như bạn bán hàng trên một website nhưng một ngày giảm giá đặc biệt. Khách hàng truy cập vào web của bạn tăng đột biến và tự dưng web cũng sập. Lý do cho tất cả việc này là bởi vì máy chủ (server) bị quá tải do không đáp ứng được yêu cầu từ người truy cập.

Máy chủ là nơi lưu trữ toàn bộ trang web và dữ liệu liên quan. Về cơ bản việc bạn truy cập vào một web diễn ra như sau: nhập URL vào trình duyệt => Máy chủ DNS sẽ biến tên Domain thành địa chỉ IP trên mạng Internet để xác định máy chủ lưu trữ => trình duyệt sẽ gửi yêu cầu tới máy chủ => Máy chủ sẽ xử lý và gửi dữ liệu về trình duyệt của bạn.
Khi có quá nhiều người truy cập vào web trong cùng 1 thời điểm. Quá trình gửi yêu cầu diễn ra số lượng lớn khiến máy chủ không thể nào xử lý kịp thời dẫn tới sập web. Network Load Balancing (NLB) xuất hiện để xử lý vấn đề này.
Network Load Balancing (NLB) được dịch là cân bằng tải mạng. Đây là một loại thiết bị mạng hoặc phần mềm trong hệ thống mạng. Được sử dụng để phân phối tải công việc và truy cập mạng một cách cân bằng và hiệu quả giữa nhiều máy chủ.

NLB hoạt động tại tầng thứ 4 (Transport) trong mô hình OSI, và nhiệm vụ chính của nó là đảm bảo rằng không có máy chủ nào trong hệ thống bị quá tải, đồng thời tối ưu hóa sự sử dụng các tài nguyên máy chủ.
Cách hoạt động của Network Load Balancing
Cân bằng tải mạng phân phối lưu lượng mạng trên nhiều liên kết WAN, máy ảo hoặc máy chủ để tránh làm quá tải bất kỳ máy chủ nào mà không sử dụng các giao thức định tuyến phức tạp.
Bất kỳ bộ cân bằng tải nào đều nằm phía trước máy chủ và hoạt động như các yêu cầu định tuyến kiểm soát lưu lượng từ máy khách trên các máy chủ. Việc này giúp tăng khả năng một cách tối ưu để tối đa hóa tốc độ và mức sử dụng công suất.
Cách hoạt động của Network Load Balancer (NLB) liên quan đến việc phân phối tải đều đặn giữa các máy chủ trong mạng, ngăn chặn tình trạng quá tải và tối ưu hóa hiệu suất của hệ thống. Dưới đây là cách hoạt động chi tiết của NLB:
- Nhận yêu cầu từ người dùng hoặc thiết bị: Khi một người dùng hoặc thiết bị gửi yêu cầu truy cập đến trang web hoặc ứng dụng, yêu cầu này sẽ điều hướng đến địa chỉ IP của NLB. NLB sẽ đóng vai trò là điểm trung gian nhận yêu cầu này.
- Chọn máy chủ thích hợp: NLB sử dụng các thuật toán cân bằng tải để quyết định máy chủ nào sẽ phục vụ yêu cầu này. Các thuật toán này có thể dựa trên Round Robin (luân phiên), Least Connections (chọn máy chủ có ít kết nối nhất), hoặc IP Hash (dựa trên địa chỉ IP của người dùng).
- Chuyển hướng yêu cầu đến máy chủ đã chọn: NLB sẽ chuyển hướng yêu cầu từ người dùng đến máy chủ đã chọn dựa trên thuật toán cân bằng tải. Yêu cầu này sau đó sẽ được xử lý bởi máy chủ.
- Xử lý yêu cầu bởi máy chủ: Máy chủ nhận yêu cầu từ NLB và xử lý nó như bình thường. Nếu đó là một trang web hoặc ứng dụng, máy chủ sẽ tải dữ liệu và tạo ra trang web phản hồi.
- Gửi phản hồi đến người dùng hoặc thiết bị: Sau khi máy chủ đã xử lý yêu cầu, nó sẽ gửi trang web phản hồi hoặc dữ liệu cần thiết trở lại NLB.
- Chuyển hướng phản hồi đến người dùng hoặc thiết bị: NLB sẽ chuyển hướng phản hồi từ máy chủ đến người dùng hoặc thiết bị gửi yêu cầu ban đầu.
- Kiểm soát tải và sự cố: NLB liên tục theo dõi tình trạng của các máy chủ. Nếu một máy chủ gặp sự cố hoặc trở nên quá tải, NLB có thể tự động loại bỏ máy chủ khỏi danh sách phục vụ, ngăn chặn tình trạng quá tải và tăng cường độ tin cậy của hệ thống.
Ví dụ cân bằng tải mạng trong máy chủ web
Nếu không sử dụng cân bằng tải mạng thì bình thương 1 website của chúng ta chỉ có 1 máy chủ Server. Do đó nếu số lượng yêu cầu truy cập vượt quá khả năng của máy chủ này thì web sẽ bị sập.
Nhưng khi sử dụng Netword Load Balancing thì chúng ta sẽ có thể sử dụng nhiều máy chủ Server cùng lưu trữ 1 dữ liệu web giống nhau. Các máy chủ này sẽ được giao tiếp với mạng Internet bằng Subnet mask một địa chỉ IP ảo công cộng chung.
Khi có yêu cầu truy cập, bộ cân bằng tải sẽ phân phối yêu cầu này tới máy chủ thích hợp để tránh tình trạng máy chủ bị quá tải làm gián đoạn, làm chậm truy cập của người dùng.
Lợi ích của Network Load Balancing
Có một điều bạn cần lưu ý là NLB (cân bằng tải mạng) hoạt động trên OSI Lớp 4. Vì vậy chúng không nhằm mục đích nhận biết ngữ cảnh hoặc xem xét các tín hiệu ở lớp ứng dụng như dữ liệu cookie, loại nội dung, vị trí người dùng, tiêu đề tùy chỉnh hoặc hành vi ứng dụng. Cân bằng tải mạng chỉ xem xét thông tin lớp mạng có bên trong các gói mà chúng gửi trực tiếp.
Cân bằng tải mạng mang lại những lợi ích sau:
- Khả năng mở rộng tới hàng triệu yêu cầu mỗi giây để xử lý khối lượng công việc không ổn định.
- Hỗ trợ địa chỉ IP tĩnh.
- Khả năng chỉ định một địa chỉ IP linh hoạt cho mỗi mạng con được kích hoạt.
- Hỗ trợ đăng ký mục tiêu kể cả mục tiêu ngoài VPC theo địa chỉ IP.
- Hỗ trợ giám sát độc lập tình trạng dịch vụ, với các hoạt động kiểm tra tình trạng được xác định ở cấp nhóm mục tiêu và nhiều số liệu được báo cáo ở đó.
Các kỹ thuật cân bằng tải trong mạng
1. SSL Cân bằng tải mạng:
SSL (Secure Sockets Layer) cân bằng tải mạng là việc sử dụng cân bằng tải để phân phối lưu lượng truy cập SSL an toàn đến nhiều máy chủ để tối ưu hóa hiệu suất và đảm bảo tính bảo mật.
Với SSL cân bằng tải, cân bằng tải xử lý lưu lượng truy cập SSL bằng cách giải mã và mã hóa lại dữ liệu, đảm bảo tính riêng tư và bảo mật của thông tin.
2. Chuyển đổi dự phòng cân bằng tải mạng:
Chuyển đổi dự phòng cân bằng tải mạng (Failover Load Balancing) là kỹ thuật sử dụng một máy chủ dự phòng để tiếp quản lưu lượng truy cập khi máy chủ chính gặp sự cố hoặc không hoạt động.
Khi máy chủ chính gặp vấn đề, cân bằng tải sẽ tự động chuyển hướng lưu lượng đến máy chủ dự phòng, đảm bảo rằng dịch vụ vẫn được duy trì mà không có sự gián đoạn lớn.
3. Cân bằng tải và bảo mật:
Cân bằng tải và bảo mật kết hợp giữa việc phân phối tải truy cập cân đối và các biện pháp bảo mật để đảm bảo tính an toàn cho dịch vụ.
Một ví dụ là sử dụng Network Load Balancer (NLB) kết hợp với cơ chế cân bằng tải dự phòng và bảo mật SSL.
NLB sẽ đảm nhận việc phân phối tải cân đối và có thể tự động chuyển hướng khi có máy chủ gặp sự cố. Đồng thời, bảo mật SSL sẽ mã hóa thông tin truyền tải giữa người dùng và máy chủ, bảo vệ tính bí mật của dữ liệu.
Các thuật toán cân bằng tải
Có nhiều thuật toán cân bằng tải khác nhau được sử dụng để phân phối lưu lượng truy cập đến các máy chủ một cách cân đối và hiệu quả. Mỗi thuật toán có cách hoạt động và ưu điểm riêng. Dưới đây là một số ví dụ về các thuật toán cân bằng tải phổ biến:
- Round Robin (RR): Thuật toán này phân phối lưu lượng truy cập đến các máy chủ theo một lịch trình luân phiên. Mỗi yêu cầu mới sẽ được gửi đến máy chủ tiếp theo trong danh sách. Đây là một thuật toán đơn giản, nhưng có thể không hiệu quả nếu các máy chủ có hiệu suất khác nhau.
- Least Connections (LC) – Cân bằng tải dựa trên số kết nối ít nhất: Thuật toán này chọn máy chủ có ít kết nối hoạt động nhất để gửi yêu cầu mới. Điều này giúp đảm bảo rằng máy chủ không bị quá tải và cân bằng tải hiệu quả.
- IP Hash: Thuật toán này sử dụng địa chỉ IP nguồn của người dùng để xác định máy chủ mục tiêu. Điều này đảm bảo rằng cùng một người dùng sẽ luôn được gửi đến cùng một máy chủ, giúp duy trì trạng thái cho các ứng dụng yêu cầu trạng thái.
- Weighted Round Robin (WRR): Tương tự như Round Robin, nhưng mỗi máy chủ có một trọng số riêng. Máy chủ có trọng số cao sẽ nhận được nhiều yêu cầu hơn. Điều này có thể hữu ích nếu các máy chủ có hiệu suất khác nhau.
- Weighted Least Connections (WLC) – Cân bằng tải dựa trên số kết nối và trọng số: Kết hợp cả trọng số và số kết nối để xác định máy chủ mục tiêu. Máy chủ với trọng số cao và ít kết nối sẽ được ưu tiên.
- Least Response Time: Thuật toán này dựa vào thời gian phản hồi từ các máy chủ để quyết định máy chủ mục tiêu. Máy chủ có thời gian phản hồi ngắn nhất sẽ được chọn để xử lý yêu cầu.
- Random: Thuật toán đơn giản, chọn một máy chủ ngẫu nhiên từ danh sách máy chủ có sẵn. Tuy nhiên, không đảm bảo cân bằng tải chính xác.
- Source IP Affinity (Sticky Session): Thuật toán này giữ cho cùng một người dùng được kết nối vào cùng một máy chủ trong khoảng thời gian nhất định. Điều này đảm bảo rằng trạng thái phiên của người dùng được duy trì.
Tổng Kết:
Trong bài viết này, Mình và bạn đã khám phá khái niệm và cách hoạt động của Network Load Balancing (NLB) – một giải pháp quan trọng trong việc quản lý tải và cải thiện hiệu suất cho các hệ thống mạng. NLB đóng vai trò như một điểm trung gian thông minh giữa người dùng và các máy chủ, giúp phân phối công việc và truy cập một cách cân bằng và hiệu quả.
Mong rằng qua bài viết bạn đã hiểu tưởng tận về NLB là gì? Cách thức hoạt động và vai trò của nó ra sao? Cũng như hiểu được các khía cạch của cân bằng tải mạng. Cảm ơn các bạn đã theo dõi bài viết. Nều còn thắc mắc hay câu hỏi về NLB xin hãy để lại dưới phần bình luận để mình giải đáp nhanh nhất!
Xem thêm các bài viết hay khác:
Thiết bị cân bằng tải – “Load Balancer” và những điều cần biết !