Load balancing là gì? Tại sao nó cần thiết với các hệ thống giao dịch lớn?

Mùa dịch Cô Vít với cách ly xã hội, các tụ điểm vui chơi, xổ số, lô đề tạm dừng, toàn dân dường như có nhiều thời gian hơn quan tâm tới thị trường chứng khoán. Khối lượng giao dịch tăng đột biến, thêm dòng tiền từ các nhà đầu tư F0 đổ vào thị trường dẫn tới hệ thống giao dịch của các công ty chứng khoán, đặc biệt là các công ty trong top 10 liên tục gặp sự cố, giật, lắc, ngừng giao dịch. 

Nhiều đối tác đã liên hệ InnoTech tư vấn giải pháp để tăng sức chịu tải của hệ thống, và một trong số các giải pháp tư vấn của InnoTech là: “Cân bằng tải (load balancing) cần phải được thực hiện càng sớm càng tốt.”

Cụ thể cân bằng tải (load balancing) là gì?

Cân bằng tải là phương pháp phân phối khối lượng tải trên nhiều máy tính hoặc một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối đa hóa băng thông, giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ.

Cân bằng tải sẽ giúp cho hệ thống:

Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh hoạt và mở rộng cho hệ thống.

Tăng độ tin cậy và khả năng dự phòng cho hệ thống. Sử dụng cân bằng tải giúp tăng tính HA (High Availability) cho hệ thống, đồng thời đảm bảo cho người dùng không bị gián đoạn dịch vụ khi xảy ra sự cố tại một điểm cung cấp dịch vụ (Resilience).

Tăng tính bảo mật cho hệ thống. Các yêu cầu dịch vụ gửi đến hệ thống sẽ được xử lý trên bộ cân bằng tải, sau đó thành phần cân bằng tải mới chuyển tiếp các yêu cầu cho các máy chủ bên trong, tương tự với quá trình phản hồi. Vì vậy mà người dùng không thể biết được chính xác các máy chủ bên trong cũng như phương pháp phân tải được sử dụng. Bằng cách này có thể ngăn chặn người dùng giao tiếp trực tiếp với các máy chủ, ẩn các thông tin và cấu trúc mạng nội bộ, ngăn ngừa các cuộc tấn công trên mạng hoặc các dịch vụ không liên quan đang hoạt động trên các cổng khác.

 

Các thuật toán cân bằng tải

Có rất nhiều thuật toán cân bằng tải được sử dụng, sau đây là các thuật toán cân bằng tải phổ biến nhất:

Thuật toán Round Robin
Đây gọi là thuật toán luân chuyển vòng, các máy chủ sẽ được xem ngang hàng và sắp xếp theo một vòng quay. Các truy vấn dịch vụ sẽ lần lượt được gửi tới các máy chủ theo thứ tự sắp xếp.

Thuật toán Weighted Round Robin
Bản chất giống như thuật toán Round Robin, tuy nhiên chúng ta có thể cấu hình cho một máy chủ nào đó thường xuyên được sử dụng hơn.

Thuật toán Least Connection
Đây là thuật toán dựa trên tính toán số lượng kết nối để thực hiện cân bằng tải cho máy chủ, nó sẽ tự động lựa chọn máy chủ với số lượng kết nối đang hoạt động là nhỏ nhất.

Thuật toán Weights Least Connection
Bản chất giống thuật toán Least Connection, nhưng chúng ta có thể cấu hình ưu tiên cho một máy chủ trong cụm máy chủ hoạt động.

Thuật toán Least Response Time
Đây là thuật toán sử dụng phương pháp thời gian đáp ứng ít nhất, lựa chọn dịch vụ trên máy chủ với thời gian đáp ứng là thấp nhất.

Ngoài ra còn có rất nhiều thuật toán khác tùy theo phần mềm hoặc phần cứng cân bằng tải được sử dụng.

Load balancing cần được triển khai càng sớm càng tốt đặc biệt là các hệ thống có cường độ hoạt động lớn như hệ thống giao dịch của các công ty chứng khoán. InnoTech đã có kinh nghiệm tư vấn và triển khai thành công giải pháp cho các đối tác, khách hàng có hệ thống giao dịch cường độ cao trong thời gian qua để chuẩn bị cho sự nóng lên của thị trường sắp tới.