Load Balancing là gì? Tất cả những điều cần biết về cân bằng tải

Load Balancing là gì? Tất cả những điều cần biết về cân bằng tải

Tác giả: admin@
15:11 18/07/2022

Load Balancing tập trung vào việc phân phối hiệu quả lưu lượng truy cập đến một nhóm Backend Servers. Tầm quan trọng này sẽ được làm rõ hơn qua bài viết của FPT Cloud. Tiếp đó, bạn sẽ đi sâu vào tìm hiểu đặc điểm của Load Balancing từ phương thức hoạt động đến thuật toán. Hãy tham khảo tới cuối để biết cách vận hành web theo cách khoa học nhất.

Load Balancing là gì?

Nếu chưa từng nghe đến thuật ngữ này, nhiều người sẽ thắc mắc Load Balancing là gì. Đây là tính năng giúp máy chủ ảo hoạt động đồng bộ, hiệu quả hơn. Điều này có được là nhờ khả năng phân phối đồng đều tài nguyên.

Trong tiếng Việt, thuật ngữ còn được biết đến với tên gọi là cân bằng tải. Những nhà phát triển, lập trình mạng đều tận dụng chức năng này. Để dễ hình dung, bạn có thể nghĩ tới trục trặc thường gặp khi truy cập Internet.

Khi đi đến website kết nối trực tiếp mà không có hỗ trợ của Load Balancing sẽ thế nào? Hệ thống không xử lý kịp, tải chậm và thậm chí là mất kết nối khi máy chủ down.

Vấn đề này xảy ra nếu có quá nhiều người truy cập cùng lúc. Đây cũng chính là lúc Load Balancing phát huy sức mạnh của mình.

Trong tình huống trên, máy chủ đã gặp trục trặc và không thể xử lý được. Vì thế, một Load Balancer sẽ được bổ sung vào để người dùng truy cập. Quy trình tiếp tục bằng các chuyển đến máy chủ khác để thực hiện tác vụ.

Như vậy dù máy chính bị nghẽn, tất cả yêu cầu của khách đều được giải quyết. Tới đây, bạn chắc chắn đã hiểu Load Balancer là gì. Yếu tố này cũng rất đáng cân nhắc khi quyết định chọn thuê Hosting/Server.

>>> Có thể bạn quan tâm: Landing Page là gì? Cách vận dụng & thiết kế Landing Page tối ưu nhất

Lợi ích đến từ Load Balancing

Lợi ích từ Load Balancing mang đến cho website là không hề nhỏ. Bạn sẽ nhận thấy rõ hơn sự nhanh nhạy, linh hoạt và bảo mật thông qua phần dưới đây.

✅Lợi ích Giải thích
✅Uptime Như đã biết, Load Balancing sẽ chuyển Traffic sang máy chủ còn lại khi gặp sự cố. Nhờ vậy, những gián đoạn nhanh chóng được phát hiện, xử lý kịp thời. Trải nghiệm của người truy cập vẫn đảm bảo phản hồi với tốc độ chuẩn.
✅Datacenter linh hoạt Ưu điểm nổi bật chính là khả năng điều phối linh hoạt giữa các máy chủ. Nhờ vậy, các hoạt động chung khác của hệ thống không bị ngắt quãng, ảnh hưởng.
✅Bảo mật cho Datacenter Nhờ cân bằng tải, yêu cầu của người dùng được tiếp nhận và xử lý trước khi phân chia về các máy chủ. Đồng thời, quá trình phản hồi cũng không ngăn cản việc khách truy cập giao tiếp với Server.Tình trạng ẩn thông tin hay cấu trúc mạng nội bộ tránh tuyệt đối. Từ đó, cơ hội cho những cuộc tấn công trái phép là rất thấp.

Các giao thức được xử lý bởi Load Balancer

Trong thực tế, quản trị Load Balancer có thể quy định chuyển tiếp 4 loại giao thức. Cụ thể như sau:

  • HTTP: Cách thức hoạt động dựa trên cơ chế HTTP chuẩn. HTTP Balancing sẽ đưa ra yêu cầu về tác vụ. Tiếp theo, Load Balancer đặt X-Forwarded-For, X-Forwarded-Proto và tiêu đề X-Forwarded-Port cung cấp các thông tin Backends về những yêu cầu ban đầu.
  • HTTPS: HTTPS Balancing được bổ sung mã hóa và xử lý bằng 2 cách. Đầu tiên chính là passthrough SSL duy trì mã hóa tất cả con đường đến Backend. Kiểu khác là chấm dứt SSL, đặt gánh nặng giải mã vào Load Balancer và gửi lưu lượng được mã hóa đến Backend.
  • TCP: Khi không sử dụng được HTTP hay HTTPS, TCP sẽ là giải pháp cân bằng lưu lượng. Cụ thể, khi một lượng Traffic đi vào cụm cơ sở dữ liệu, giao thức sẽ giúp lan truyền lưu lượng đến tất cả máy chủ.
  • UDP: Load Balancer đã bổ sung 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.

Quy tắc chuyển tiếp sẽ có nhiệm vụ xác định loại giao thức và cổng vào Load Balancer. Lúc này, các gate được sử dụng để định tuyến lưu lượng trên Backend.

Thuật toán ứng dụng trong Load Balancing

Tùy thuộc vào công nghệ Load Balancing sẽ ứng dụng thuật toán khác nhau. Dưới đây là phân tích về cách thức hoạt động của những loại thường thấy nhất.

Round Robin

Round Robin được biết đến là thuật toán lựa chọn các máy chủ theo trình tự. Theo đó, Load Balancer sẽ bắt đầu đi từ Server số 1 trong danh sách ứng với yêu cầu đầu tiên.

Tiếp theo, cân bằng tải di chuyển dần xuống các đối tượng phía dưới. Khi đã đi tới máy chủ cuối cùng sẽ quay lại ở đầu trang.

Tuy nhiên, thuật toán này cũng tồn tại nhược điểm nhất định. Điều này xảy ra khi 2 yêu cầu từ người dùng được gửi đến các Server khác nhau. Hoạt động này làm tốn thời gian kết nối với máy chủ thứ hai.

Trong khi đó, ngay tại Server đầu tiên đã giải quyết được thông tin cần đáp ứng. Để khắc phục, Round Robin thường cài đặt cùng phương pháp duy trì session như sử dụng cookie.

Weighted Round Robin

Ngoài những điều có ở thuật toán trên, WRR còn có khả năng xử lý theo cấu hình của từng Server đích. Theo đó, mỗi máy chủ được đánh giá trị bằng một số nguyên.

Một Server có khả năng xử lý gấp đôi Server khác sẽ được nhận con số lớn hơn. Kéo theo đó là số lượng Request gấp hai từ bộ cân bằng tải. Nhược điểm là làm suy giảm Load Balancing nếu yêu cầu thay đổi liên tục trong một khoảng thời gian.

Dynamic Round Robin

Thuật toán này hoạt động gần giống với Weighted Round Robin. Thế nhưng, điểm khác biệt nằm ở trọng số dựa trên sự kiểm tra Server liên tục.

Việc chọn máy chủ sẽ tính toán từ nhiều khía cạnh trong phân tích hiệu năng máy chủ tại thời gian thực. Thuật toán thường không cài đặt trong bộ cân bằng tải đơn giản. Thay thế vào đó là những ứng dụng trong Load Balancing của F5 Network.

Fastest

Fastest hoạt động dựa trên tính toán thời gian đáp ứng của mỗi Server. Sau đó, hệ thống sẽ chọn ra máy chủ có khả năng phản hồi nhanh nhất.

Thời gian được xác định bằng hai mốc là thời điểm gửi một gói tin đến Server và nhận gói trả lời. Quy trình đến và đi này sẽ được bộ Load Balancing đảm nhiệm. Theo đó, Load Balancing tự đánh giá được cần chuyển yêu cầu tiếp theo đến đâu.

Thuật toán này áp dụng cho các máy chủ nằm tại khu vực địa lý khác nhau. Vì thế, người dùng ở gần vị trí nào sẽ được đáp ứng từ Server gần nhất.

Least Connections

Nguyên lý là Request sẽ chuyển đến Server có ít kết nối nhất hệ thống. Đây được coi là thuật toán động vì phải đếm số Connection đang hoạt động của máy chủ.

Trong thực tế, Least Connections hoạt động rất tốt. Điều này vẫn đúng ngay cả khi các kết nối biến thiên trong khoảng thời gian lớn.

>>> Có thể bạn quan tâm: Laravel là gì? Tìm hiểu các tính năng ưu việt & hướng dẫn cài đặt

Cách thức Load Balancing xử lý trạng thái

Trong nhiều tình huống, ứng dụng yêu cầu người truy cập tiếp tục kết nối đến cùng Backend Server. Lúc này, thuật toán mã nguồn sẽ tạo ra một mối quan hệ dựa trên thông tin là IP của khách hàng.

Đối với ứng dụng web thông qua sticky sessions, Load Balancer sẽ tiến hành đặt một Cookie. Nhờ vậy, tất cả yêu cầu sẽ hướng đến cùng một máy chủ vật lý.

Load Balancer dự phòng

Việc chỉ có một Load Balancer là điểm truy cập duy nhất không hiếm. Chính vì thế, bạn cần triển khai một cân bằng tải thứ hai và kết nối với loại thứ nhất.

Mục đích làm như vậy để mỗi Load Balancer đều có thể phát hiện lỗi và phục hồi. Nếu cân bằng tải bị lỗi, đối tượng thứ hai sẽ nhận trách nhiệm thay thế, do DNS di chuyển người dùng đến.

Tuy vậy, việc thay đổi DNS mất nhiều thời gian xử lý trên Internet. Vì thế, một phương pháp chuyển đổi dự phòng tự động ra đời. Các quản trị viên cho phép linh hoạt IP Remapping. Ví dụ như trường hợp này là floating IPs.

IP Remapping hỗ trợ loại bỏ các vấn đề bộ nhớ đệm vốn có trong những thay đổi DNS. Công cụ tiến hành cung cấp một địa chỉ tĩnh, IP này dễ dàng ánh xạ lại trong trường hợp cần thiết.

Tên miền vẫn có thể duy trì kết nối với các địa chỉ. Trong khi đó, những IP của chính đối tượng sẽ di chuyển giữa nhiều máy chủ.

Trên đây là những thông tin cung cấp đánh giá tổng quan về cân bằng tải. Hệ thống này là một trong các thành phần cơ sở hạ tầng quan trọng nhất của mạng máy tính.

Việc ứng dụng giúp cải thiện hiệu suất và nâng cao trải nghiệm người dùng. Chính vì thế, FPT Cloud tin rằng nhà quản trị website cần sớm hiểu rõ về Load Balancing.

Liên hệ với chúng tôi để biết thêm thông tin chi tiết về dịch vụ của FPT Smart Cloud

 

Load Balancing là gì? Tất cả những điều cần biết về cân bằng tải