Giải pháp cân bằng tải ( Network Load Balancing )
I. Giới thiệu chung:
Giải pháp cân bằng tải ( Network Load Balancing ) là việc phân bố đồng đều lưu lượng truy cập giữa hai hay nhiều các máy chủ có cùng chức năng trong cùng một hệ thống. Bằng cách đó, sẽ giúp cho hệ thống giảm thiểu tối đa tình trạng một máy chủ bị quá tải và ngưng hoạt động. Hoặc khi một máy chủ gặp sự cố, Cân Bằng Tải sẽ chỉ đạo phân phối công việc của máy chủ đó cho các máy chủ còn lại, đẩy thời gian uptime của hệ thống lên cao nhất và cải thiện năng suất hoạt động tổng thể.
Mục đích :
− Tổng hợp các sức mạnh đơn lẻ thành một
− Tăng cường khả năng chịu lỗi
Về kỹ thuật : hệ thống sẽ bao gồm các hệ thống con:
1. Web server
− Đây là hệ thống public, phục vụ cho mục đích marketing, quảng bá đưa hình ảnh hoạt động, sản phẩm của công ty đến với mọi người.
− Hệ thống này, về kỹ thuật, cho phép tất cả người dùng Internet đều có thể tìm kiếm thông tin, trao đổi thông tin với website của bạn. Do vậy, cần phải đảm bảo về tốc độ truy cập, tính ổn định.
2. Database Server
− Hệ thống Database chung để web server access vào lấy dữ liệu và hiển thị nội dung trên website.
− Đây là hệ thống chứa mọi thông tin cho hoạt động cả Public & nội bộ công ty.
− Do vậy, hệ thống DB phải đủ mạnh, ổn định & an toàn dữ liệu.
3. Proxy server (Load Balancing)
− Đây là hệ thống chuyển tiếp thông tin và kiểm soát thông tin, tạo sự an toàn cho server web, database server.
− Chức năng Load Balancing (LB) cho các web server sẽ được cài đặt trên máy chủ Proxy này.
II. Mô hình kết nối:
Mô hình giải pháp High Availability và Load Balancing cho website
III. Thiết bị và các yêu cầu khác:
− 3 IP PUBLIC :
• IP WAN 1 : Sẽ được gán cho LB1
• IP WAN 2 : Gán cho LB2
• IP WAN 3 : Sử dụng cho Virtual IP ( Người dùng sẽ truy cập đến các Webserver thông qua địa chỉ này )
− Cần 4 Server :
• 2 Server đóng vai trò control việc load balancing :
+ Mỗi Server cần có 2 Interface .
+ Vì là nơi chuyển traffic chính nên yêu cầu throughput cho network traffic cao. Khả năng throughput này dựa trên CPU và RAM .
• 2 Server đóng vai trò Website
+ Lưu trữ thông tin website trên đây .
+ Trên 2 Server ta có có thể setup phù hợp để làm database server.
+ Để đảm việc đồng bộ giữa 2 database trên 2 server này luôn giống nhau, ta có thể thiết lập giải pháp replicate database
IV. Cách thức hoạt động:
− Ta sẽ có 2 Server đảm nhận vai trò là LoadBalancer và Firewall .
− Load Balancer :
• 1 Server đóng vai trò là active. ( ở đây là LB1)
• Server còn lại giữ vai trò standby. ( LB2 )
• Khi bên ngoài truy cập đến website thông qua địa chỉ : IP WAN3 . sẽ được redirect theo đường dẫn (mũi tên màu đen) đến server LB1 (Active ). LB1 sẽ tự động thực hiện nắm giữ việc load balancing tới 2 Web Server
• Khi Server LB1 không còn khả năng phục vụ , lúc này server LB2 sẽ được tự động chuyển lên Active tiếp tục nắm giữ việc load balancing đến 2 Web Server , đảm bảo cho việc truy cập đến website liên tục đối với người dùng internet ( đường dẫn mũi tên màu đỏ )
• Khi Server LB1 up lên lại , vai trò sẽ được tự động chuyển lại cho LB1 .
• Bằng cách này ta có thể đảm bảo độ sẵn sàng cao và cân bằng tải cho website.
− Firewall :
• Các Web Server sẽ được đặt trong vùng DMZ được bảo vệ bởi LoadBalancer ( Nhờ vào Firewall được cài đặt trên Load Balancer )
− Mô hình 1:
– Mô hình này thích hợp cho trường hợp :
. Dữ liệu trong database lớn và yêu cầu bảo mật cao
. Web Server thực thi Read và Write liên tục đến Database.
– Với mô hình trên :
. Web Server và Database chạy độc lập trên mỗi Server vật lý .
. Có thể triển khai cấu hình phần cứng thích hợp cho Web Server và Database Server .
. Đảm bảo Secure . Trường hợp Hacker tấn công nắm quyền kiểm soát trên Web Server =>Vẫn còn phải thao tac kết nối đến Database Server
– Việc Replicate giữa 2 Database Server sẽ không ảnh hưởng nhiều đến khả năng hoạt động của Web Server ( Do chạy độc lập ) .
– Tăng khả năng chịu tải của Web Server ( Do không phải share resource với database )
– Việc truy xuất dữ liệu chỉ trong mạng LAN và không ảnh hưởng đến 2 Load Balancer .
– Mô hình 2:
– Mô hình này ta đặt Database và Web trên đồng thời mỗi Server .
– Mô hình này áp dụng trong trường hợp dữ liệu database thuộc vào dạng ít hoặc trung bình. Nhưng đòi hỏi truy cập vào web nhanh và luôn sẵn sàng (số lượng Web Server lên đến 4)
– Với mô hình trên , lượng request từ Internet sẽ được phân tải đến 4 Server.
– Database trên mỗi Server sẽ đồng bộ với nhau . ( Lên đến 4 )
– Lúc này, do Load Balancer phải chịu tải lên đến 4 Server => Yêu cầu cấu hình mạnh cho 2 máy Load Balancer