LINUXVIRTUALSERVER 2.1 TỔNG QUAN VỀ LINU
2.2.2.2 Network Load Balancing
Network Load Balancing(NLB) Là một loại khác của kỹ thuật clustering có khả năng chia tải và nâng cao khả năng chịu lỗi của hệ thống. Được dùng cho các ứng dụng hoạt động không tiên tục như File tranfer protocol (FTP) hay Virtual Private Network (VPN). Các node trong cluster không dùng chung một nơi lưu trữ cơ sở dữ liệu cho nên cần phải có q trình đồng bộ hóa (replication) dữ liệu giữa các nơi lưu trữ, số lượng node càng nhiều thì thời gian cho việc đồng bộ càng lâu.
Mỗi node trong nhóm có thể định ra mức tải mà nó sẽ xử lý hoặc tải có thể phân phối một cách đồng đều giữa các node. Nhờ sử dụng việc phân phối tải này, mỗi server sẽ lựa chọn và xử lý một phần yêu cầu. Tải do các client gửi đến được phân phối sao cho mỗi server nhận được số lượng các yêu cầu theo đúng phần tải đã định của nó. Sự cân bằng tải này có thể điều chỉnh động khi các host tham gia vào hoặc rời khỏi nhóm.
Các node trong nhóm cân bằng tải phát đi một bản tin đặc biệt thơng báo trạng thái hoạt động của nó (heartbeat message) tới các node khác trong nhóm đồng thời nghe bản tin này từ các node khác. Nếu một node trong nhóm gặp sự cố, các node cịn lại sẽ điều chỉnh và tái phân phối lại tải để duy trì việc cung cấp dịch vụ một cách liên tục cho các client.
NLB sử dụng thuật tốn lọc phân tán hồn tồn để ánh xạ các client đến các node trong nhóm. Thuật tốn này cho phép các node trong nhóm đưa ra các quyết định cân bằng tải một cách độc lập và nhanh chóng cho từng gói đến. Nó được tối ưu hố để cung cấp khả năng cân bằng tải một cách thống kê đối với một số lượng lớn các yêu cầu nhỏ do vô số client tạo ra.
Một điểm cần lưu ý là cả cluster và network load balancing đều có khả năng cân bằng tải và có khả năng chịu lỗi (failover) cho các dịch vụ. Tuy
không được chuyển tới node này cho đến khi nào node khôi phục lại trạng thái hoạt động bình thường. Trong khi đối với network load balancing thì khơng có cơ chế này.