NETWORK LOAD BALANCING LÀ GÌ

     

Load balancing (cân bằng tải) không thể là một thuật ngữ lạ lẫm trong nghành nghề dịch vụ System.Bài viết này sẽ hệ thống lại một số điểm đặc thù và cơ bạn dạng của load balancing. Nếu khách hàng cần hỗ trợ, xin vui lòng liên hệ 90namdangbothanhhoa.vn qua đường dây nóng 1900 6046 ext.3, e-mail về support

I. Khái niệm

Trong bối cảnh các khối hệ thống lớn nên xử lý sản phẩm trăm, sản phẩm ngàn…lượt truy vấn đồng thời từ bỏ phía người dùng, kế tiếp phản hồi lại công dụng (text, hình ảnh, video…) một cách đúng mực nhất, việc không ngừng mở rộng hệ thống bằng cách triển khai thêm server là điều thường thấy. Điều này kéo theo việc phải có một phương thức giúp phân phối lượng truy vấn trên tới toàn bộ các vps một cách hợp lý để buổi tối ưu hóa vận tốc xử lý, cũng giống như không nhằm một server bất kỳ bị quá mua dẫn đến bớt performance của toàn khối hệ thống => Load balancing ra đời

Load balancing là một trong những phương pháp dùng làm phân phối traffic đầu vào một trong những cách tác dụng đến các server đầu cuối (backend), và nhóm những backend này được điện thoại tư vấn là server farm hoặc server pool.

Bạn đang xem: Network load balancing là gì


*

Khi một server bất kỳ trong pool bị tèo, load balancer sẽ có được nhiệm vụ chuyển làn đường traffic đến những backend còn sống không giống trong pool. Tương tự, khi bao gồm một backend mới được thêm vào pool, load balancer sẽ auto đẩy traffic cho tới backend đó.

Cần phân biệt một vài khái niệm sau:

_ Load balancing: là concept, là phương pháp.

_ Load balancer: là đối tượng người dùng thực hiện việc thăng bằng tải, hoàn toàn có thể là một server, một thiết bị siêng dụng…không có công dụng xử lý request, chỉ có trách nhiệm phân phối request tới các backend.

_ Backend server: là server đầu cuối, chỗ sẽ xử lý những request đi vào.

_ Server farm / server pool: tập hợp những backend.

II. Công dụng của Load balancing

_ phân phối request của người tiêu dùng một cách tác dụng đến các backend, từ đó giúp giảm tải lượng công việc phải thực hiện trên từng backend.

_ Đảm bảo tính sẵn sàng chuẩn bị cao (high availability) và độ tin yêu (reliability) bằng việc chỉ nhờ cất hộ request tới những backend đang online. Từ bỏ đó sút thiểu downtime khi 1 backend chạm chán sự cố.

Xem thêm: Edelweiss Là Gì ? Truyền Thuyết Về Hoa Nhung Tuyết Edelweiss

_ Tăng tính hoạt bát của toàn khối hệ thống khi rất có thể thêm hoặc sút backend bất kể lúc nào.

_ Tăng tính bảo mật của khối hệ thống vì những backend từ bây giờ thường sẽ bên trong vùng DMZ (DeMilitary Zone – tạm hiểu là ko được public), người tiêu dùng khi liên kết đến hệ thống là chỉ đang liên kết đến load balancer thay vì chưng trực tiếp nối các backend.

III. Nguyên tắc hoạt động

Khi một request được gửi mang đến hệ thống, request này sẽ đến load balancer, tùy theo thuật toán sẽ được thông số kỹ thuật trên load balancer mà lại request đó sẽ tiến hành chuyển đến những backend tương xứng để được xử lý. Sau thời điểm được xử trí hoàn tất, response tự backend đã trả ngược về load balancer với về tới tín đồ dùng.

Load balancer xác định một backend tất cả đang online hay không bằng một thao tác làm việc gọi là Health check. Sau đó 1 khoảng thời hạn nhất định, load balancer sẽ gửi dấu hiệu tới những backend để soát sổ xem backend tất cả còn đang vận động hay không. Trường hợp backend không ý kiến thì load balancer sẽ loại bỏ backend đó ra khỏi pool. Tùy vào phần mềm / phần cứng dùng làm load balancer nhưng ta có thể quy định gia tốc gửi health kiểm tra đến backend.

Một số thuật toán load balancing phổ biến:

Round robin: là thuật toán giao vận theo vòng. Các backend sẽ có độ ưu tiên ngang nhau, request sẽ tiến hành chia mọi cho toàn bộ backend theo vòng.Weighted round robin: tương đương với round robin mà lại mỗi backend sẽ có thêm trọng lượng (weight), lý lẽ độ ưu tiên để dấn request. Ví dụ: gồm 03 backend A, B, C cùng với weight theo thứ tự là 4 – 4 – 2. Vậy với 10 request đi vào thì backend A thừa nhận 4 request, B dìm 4 request, C chỉ dìm 2 request. Việc khẳng định weight thường dựa vào vào thông số kỹ thuật tài nguyên của từng backend, backend tài năng nguyên to hơn, được áp dụng thường xuyên hơn nữa thì sẽ tất cả weight mập hơn.Least Connection: là thuật toán phụ thuộc vào lượng truy cập hiện gồm trên từng backend. Load balancer sẽ tuyển lựa backend đang giải pháp xử lý ít request nhất để đẩy traffic về.

Xem thêm: Váy Xám Kết Hợp Với Áo Màu Gì, Chân Váy Màu Xám Kết Hợp Với Áo Màu Gì

IP hash (một số áp dụng khác còn mang tên là Source): là thuật toán dựa vào IP mối cung cấp (IP phía bạn dùng) để phân phối traffic tới backend. Ví dụ dễ nắm bắt là IP nguồn tất cả octet cuối là số lẻ thì về backend lẻ, chẵn thì về backend chẵn…Và những thuật toán khác…

IV. Một trong những phần mềm load balancing

Linux:

Haproxy: http://www.haproxy.org/Nginx: https://www.nginx.com/LVS: http://www.linuxvirtualserver.org/

Windows:

Network load balancing: https://docs.microsoft.com/en-us/windows-server/networking/technologies/network-load-balancing

Bên trên là các phần mềm thông dụng rất có thể dùng trong đa số các yêu thương cầu triển khai load balancing. Anh em nếu thủng thẳng thì hiểu qua, không thư thả cũng đọc qua để hiểu biết thêm và có tác dụng quen nhé.