Trong thời đại ngày nay, khi công nghệ đang dần chiếm ưu thế và tạo ra nhiều giá trị cho công việc của con người thì việc phát triển các hệ thống công nghệ trong tất cả các tổ chức là việc làm cần thiết. Hòa chung trong nhịp phát triển đó thì hệ thống mạng máy tính cũng đang được các chuyên gia và kỹ thuật viên nghiên cứu, đầu tư cả thời gian và tiền bạc để tối ưu, nâng cao chất lượng và tiết kiệm cho người sử dụng. Công nghệ cân bằng tải ra đời là để đáp ứng yêu cầu đó.
Chúng
ta có thể dễ dàng nhận thấy rằng việc duy trì sự hoạt động liên tục và ổn định
của hệ thống server của một doanh nghiệp, cơ quan, tổ chức, tập đoàn, cơ quan
nhà nước thậm chí là của cá nhân có vai trò vô cùng quan trọng. Sự phát triển của
các tổ chức đó đi kèm với sự song hành của một hệ thống công nghệ thông tin tốt.
Thế nhưng càng phát triển thì yêu cầu sự an toàn, ổn định ngày càng nâng lên. Hệ
thống cân bằng tải server đảm bảo các server của bạn hoạt động ổn định, không để
xảy ra tình trạng ngắt hệ thống bởi dù là trong tình trạng quá tải nhất thì
công việc cũng được chia đều cho các server trong hệ thống cân bằng tải. Trong
bài viết này, chúng ta sẽ tìm hiểu về cân bằng tải, để trước hết là hiểu về nó
và sau đó nghiên cứu áp dụng vào hệ thống server của mình nếu thấy cần thiết.
1. Khái niệm:
Cân
bằng tải là sự phân chia khối lượng công việc mà một máy tính phải làm thành
hai hoặc nhiều máy tính để nhiều công việc hơn được thực hiện trong cùng một lượng
thời gian và, nói chung, tất cả người dùng được phục vụ nhanh hơn. Cân bằng tải
có thể được thực hiện với phần cứng, phần mềm, hoặc kết hợp cả hai. Thông thường,
cân bằng tải là lý do chính cho máy chủ phân nhóm.
Trên
Internet, các công ty có trang web nhận được rất nhiều lưu lượng truy cập thường
sử dụng giải pháp cân bằng tải. Để cân bằng tải lưu lượng truy cập web, có một
số phương pháp tiếp cận. Để phục vụ Web, một cách tiếp cận là định tuyến yêu cầu
mỗi lần lượt đến một địa chỉ máy chủ lưu trữ khác nhau trong một bảng hệ thống
tên miền (DNS. Thông thường, nếu hai máy chủ được sử dụng để cân bằng tải công
việc, một máy chủ thứ ba là cần thiết để xác định được máy chủ nào làm công việc
nào. Vì vậy cân bằng tải đòi hỏi nhiều máy chủ, nó thường được kết hợp với chuyển
đổi dự phòng và các dịch vụ sao lưu. Trong một số phương pháp tiếp cận, các máy
chủ được phân phối trên vị trí địa lý khác nhau.
2. Nguyên lý
Trên
thực tế có nhiều mô hình cân bằng tải khác nhau, mục đích chính để tập trung sức
mạnh của các server đơn lẻ thành sức mạnh tổng hợp của hệ thống và tăng khả
năng chịu lỗi của hệ thống. Nhưng để chi tiết hơn, trong bài này tôi chỉ đề cập
đến hệ thống cân bằng tải của công ty Cổ phần dữ liệu toàn cầu, đơn vị đang
cung cấp dịch vụ này cho nhiều tổ chức, công ty tại Việt Nam.
Mô
hình 1: Lượng dữ liệu lớn, yêu cầu bảo mật cao
Trong
mô hình này có 2 server LB1 và LB2 đóng vai trò phân chia công việc cho 2 web
server là WEB -1 và WEB -2. Khi LB1 ACTIVE hết khả năng hoạt động thì tự động
chuyển dữ liệu yêu cầu sang LB2 STANDBY để server này tiếp tục thực hiện cong
việc load balancing đến 2 web server theo mũi tên màu đỏ. 2 web server public
này sẽ lấy database từ 2 server chứa database là DATABASE -2 và DATABASE – 1 để
hiển thị nội dung ra cho người dùng.
Mô
hình 2: Áp dụng trong trường hợp database ít và trung bình.
Trong
mô hình này thì database và web server được tích hợp trong cùng mỗi server,
database trên mỗi server đồng bộ nhau. Theo mô hình trên thì yêu cầu từ đầu vào
Internet sẽ được phân bổ cho 4 web từ 1-4 theo sự phân chia điều hướng của 2
server là LB! ACTIVE và LB2 STANDBY.
Trong
trường hợp này thì yêu cầu 2 LB server phải mạnh hơn ở mô hình 1 vì phải điều
hướng cho tận 4 web server cùng database.
Tóm
lại, tùy từng trường hợp khác nhau về yêu cầu dữ liệu cũng như bảo mật cũng như
tùy hệ thống server khác nhau, chúng ta sẽ chọn được mô hình cân bằng tải tối
ưu cho hệ thống của mình.