Network load balancing là gì, cách tối Ưu năng suất hoạt Động server

     
Vấn đề của các website lớn

Nếu bạn đang có 1 vài website nhỏ, ví như blog cá nhân chẳng hạn, hoặc là bất kể website nào không có quá nhiều lượt truy vấn thì bài toán web mua chậm tốt server down chưa phải vấn đề thường chạm mặt phải. Mỗi ngày có khoảng 100 request, không vấn đề; 1000 request, thật giỏi khi được không ít người biết đến, mà lại mình sẽ hơi lo lắng liệu 1 lúc gì đấy server quá download rồi ngưng dịch vụ; 10000 request, một số lượng khá to, từ bây giờ server tự nhiên lăn đùng ra bị tiêu diệt thì rắc rối to.

Bạn đang xem: Network load balancing là gì, cách tối Ưu năng suất hoạt Động server

Vấn đề nằm tại đó. Các website buộc phải nhận rất nhiều request trong 1 khoảng thời gian ngắn rất đơn giản sập bởi quá tải, không xử lý được request, làm ngăn cách dịch vụ. Các bạn từng phải đk tín chỉ đại học chắc cũng thân quen với việc cứ mỗi dịp đk tín chỉ thì sẽ có nhiều bài đăng bên trên Facebook kêu ca: "Không cài được trang", "Màn hình trắng tinh", "Vừa ấn lưu giữ thì website lại quay" "Web code như sh!t" "
!&%&"
... Nếu như đó là 1 trang web bán sản phẩm chẳng hạn, khi thương mại & dịch vụ web bị chấm dứt 1 - 2 giờ cũng là tổn thất tài bao gồm lớn. Để giải quyết vấn đề quá cài đặt server, bạn có thể sử dụng Network Load Balancer.

Vậy Network Load Balancer, hay cân bằng tải website là gì?

Cân bởi tải website (NLB)

Cân bởi tải web là công nghệ được cho phép phân phối lưu lượt truy vấn đến những web server (được điện thoại tư vấn là server pool hoặc vps farm). Bằng cách này, dịch vụ thương mại web của chúng ta sẽ tránh khỏi việc vượt tải, dẫn mang đến ngưng hoạt động. Trước khi phân tích và lý giải cách hoạt động của NLB, hãy thuộc xem lại biện pháp 1 HTTP Request hoạt động

*

Với những website bình thường, phần nhiều chỉ có một server backend. Client - trình chuẩn y gửi request cho Web hệ thống -> trên Server sẽ chạy code backend, xử lý thông tin trong request, truy nã vấn các dữ liệu cần thiết -> gửi respond lại đến Client. Chính vì thế khi có một số lượng khủng request thân tặng Server trong 1 khoảng thời hạn ngắn, trong các số đó còn có nhiều request yêu ước Server nên xử lý những thì việc phản hồi chậm, thậm chí còn quá tải, ngưng dịch vụ có công dụng xảy ra.

Khi áp dụng NLB thì chúng ta cần có tương đối nhiều Web hệ thống chứa bình thường source code, tầm thường tài nguyên. Những Server này sẽ tham gia chung một đội nhóm gọi là Cluster. Cluster này vẫn được đại diện bằng 1 IP ảo để tiếp xúc với mặt ngoài.

*

Mỗi khi gồm request thì NLB sẽ điều hướng request này về cho 1 server nào kia trong Cluster xử lý. Nhờ thế, lúc một server chẳng may bị ngưng vận động thì request tiếp theo sẽ được đẩy ngay đến server khác, đảm bảo dịch vụ thường xuyên hoạt động.

NLB cũng được thiết đặt nhiều thuật toán khác biệt giúp Network Load Balancer quyết định được cần chuyển tiếp request sang server nào. Sau đó là một số thuật toán phổ biến.

Một số thuật toán cân đối tải

Thuật toán Round Robin

Round Robin là thuật toán NLB cơ bạn dạng nhất, chỉ chuyển tiếp dựa trên thứ từ bỏ ưu tiên của các server. Khi thêm một hệ thống vào Cluster (mình vẫn gọi là 1 trong node), bọn họ sẽ yêu cầu chỉ ra thiết bị tự ưu tiên của hệ thống đó.

*

Khi tất cả một request được gửi đến, NLB sẽ đánh giá theo trang bị tự ưu tiên từ trên xuống, hệ thống nào đang xuất hiện ít kết nối hơn vậy thì sẽ đẩy request sang hệ thống đó. Nếu tất cả các node đều phải sở hữu cùng con số kết nối thì NLB sẽ đưa request cho node bao gồm độ ưu tiên cao nhất.

VD: hiện nay tại những request đang rất được chuyển tiếp như sau:

Request từ Client 1 - 3 được gửi sang hệ thống 1 - 3 xử lý.Do các Node đang sẵn có cùng con số kết nối, request từ bỏ Client 4 được đưa sang server 1 xử lý.

Xem thêm: Xem Ngày Tốt Làm Nhà Tháng 4 Năm 2020, Giờ Tốt Động Thổ Tháng 4/2020

*

Lúc này, request từ Client 5 sẽ tiến hành đẩy tiếp đến Server 2 xử lý.

*

Nhược điểm: bởi chỉ triển lẵm theo thứ tự ưu tiên, nên có tác dụng 1 server gồm thứ kiêu căng được đẩy nhiều request quá => server kia ngưng hoạt động.

Thuật toán Weighted Round Robin

Weighted Round Robin khắc phục vụ việc của thuật toán Round Robin bằng cách đánh máy tự ưu tiên dựa trên năng lực chịu sở hữu của server. Kĩ năng chịu mua này sẽ được đánh dựa vào các thông số CPU, RAM,... Của server. VD bọn họ có 3 server:

S1: 10.10.0.11 tài năng chịu thiết lập là 1S2: 10.10.0.12 tài năng chịu thiết lập là 3S3: 10.10.0.13 khả năng chịu sở hữu là 2

Khi đó sản phẩm tự ưu tiên được xếp như sau: S2-S2-S2-S3-S3-S1. Gồm thứ từ bỏ ưu tiên rồi thì sẽ triển khai như Round Robin bình thường.

*

Thuật toán Least Connection

Least Connection chuyển động dựa bên trên việc đo lường và thống kê số lượng liên kết đang hoạt động tại từng node mạng, và chọn ra node mạng đang có ít kết nối hoạt động nhất. Vào trường hợp số lượng kết nối của những node mạng đều nhau thì Cluster sẽ thực hiện thuật toán Round Robin.

Thuật toán vận động như sau, giả sử ta có quy mô cân bởi tải với 3 node mạng:

*

Lúc này, lúc có lượt truy vấn mới, Network Load Balancing Cluster sẽ soát sổ thấy Node 2 đang xuất hiện ít kết nối hoạt động nhất. Vì thế kết nối sẽ tiến hành đẩy sang mang lại Node 2:

*

Giờ thì con số kết nối vận động tại Node 2 tạo thêm thành 6, ngang cùng với Node 1. Nếu tại thời điểm này tiếp tục có kết nối thì Network Load Balancing Cluster sẽ thực hiện thuật toán Round Robin. Từ đó kết nối sẽ tiến hành đẩy sang trọng Node 1:

*

Nhược điểm: vì chưng chỉ xét đến con số kết nối vào khi dung lượng kết nối của các node rất có thể khác nhau, phải vẫn hoàn toàn có thể xảy ra ngôi trường hợp cung cấp không đồng đều, 1 số Server bị vượt tải.

Thuật toán Weighted Least Connection

Weighted Least Connection xung khắc phục nhược điểm của Least Connection. Thực chất thuật toán vẫn là lựa chọn node mạng gồm lượng kết nối vận động ít nhất, nhưng mà thay bởi vì dựa trên số lượng thì Weighted Least Connection sẽ lựa chọn dựa trên tỉ lệ phần trăm:

*

Khi gồm kết nối, bởi vì Node 3 bắt đầu chỉ có 5% con số kết nối hoạt động, cần kết nối sẽ được đẩy lịch sự Node 3:

*

Thuật toán Resource Based

Các thuật toán như Round Robin, Least Connection chỉ khác ở phương pháp điều hướng, còn thực tế mỗi request sẽ phải server nên xử lý và trả về tin tức khác nhau. Ví dụ: sản phẩm công nghệ A request một lượng thông tin cực lớn (VD tổng thể thông tin sản phẩm) trong những khi máy B chỉ request tin tức về 1 sản phẩm. Cả hai đều là 1 request, nhưng nên server tốn thời gian và khoáng sản để cách xử lý chênh nhau siêu nhiều, vì thế thì việc chia ra các server dựa trên số lượng kết nối cũng không trọn vẹn ổn.

Resource Base sẽ giải quyết vấn đề này. Resource Based điều hướng request từ Client dựa vào tình trạng hiện tại của Server. Network Load Balancer tích lũy thông tin về CPU, RAM, con số session đang hoạt động tại từng node mạng để ra quyết định chuyển hướng request mang lại Server làm sao xử lý. Tuy hoạt động tốt hơn, nhưng bỏ ra phí cài đặt và quản lý và vận hành hệ thống Network Load Balancing cũng tốn nhát hơn.

Kiến thức xem thêm từ các nguồn trên mạng, được viết lại dựa vào hiểu biết. Rất ước ao nhận được sự đóng góp của xã hội nếu có nơi nào chưa hợp lí.


Chuyên mục: Domain Hosting