Tầm quan trọng của Local Load Balancing
Có hai câu hỏi phổ biến mà mọi người thường hỏi về local load balancing: Tôi có cần phải làm sử dụng không? Khi nào tôi cần sử dụng?
Câu trả lời là: Có, và luôn luôn. Hãy theo dõi bài viết này của Bizfly Cloud để biết câu trả lời nhé!
Có hai lý do chính tại sao phải sử dụng local load balancing
Lý do 1: Để đạt được tính sẵn sàng cao, bền vững khi bạn phát triển
Bạn cần ít nhất hai backend server để có tính sẵn sàng cao và bộ cân bằng tải sẽ đảm bảo rằng nếu một backend này không hoạt động, lưu lượng sẽ được chuyển đến backend khác.
Lý do 2: Đặt một điểm kiểm soát trước các dịch vụ
Lợi ích này không thực sự có liên quan đến việc cân bằng hoặc phân phối tải. Trên thực tế, ngay cả khi bạn có một dịch vụ với một backend duy nhất, bạn cần một bộ cân bằng tải. Việc sở hữu một điểm kiểm soát sẽ cho phép bạn thay đổi backend trong quá trình triển khai, để thêm quy tắc lọc và quản lý lưu lượng truy cập. Nó cung cấp cho bạn khả năng thay đổi cách dịch vụ của bạn được triển khai trên phần backend mà không để lộ những thay đổi đó cho người dùng ở frontend. Đó có thể là một khách hàng bên ngoài, một người dùng nội bộ hoặc thậm chí một dịch vụ khác trong trung tâm dữ liệu.
Cân bằng tải dễ dàng
Tạo một bộ cân bằng tải phải nhanh chóng và dễ dàng. Mọi ứng dụng đều cần bộ cân bằng tải, vì vậy hệ thống dùng để cung cấp ứng dụng nên gồm có cả bộ cân bằng tải, cho dù là phần mềm hay cấu hình trong bộ cân bằng tải phần cứng. Một ví dụ điển hình của việc này là nền tảng Heroku. Nếu bạn triển khai một ứng dụng cho Heroku, ngay cả khi bạn chỉ chạy một phiên bản duy nhất, thì luôn có một bộ cân bằng tải. Ngày nay, nhiều stack khác nhau cung cấp loại phương pháp tiếp cận tự động này.
Có rất nhiều phương pháp công nghệ để cân bằng tải hiệu quả, dễ sử dụng
Một số tổ chức sử dụng các giải pháp bán sẵn như Elastic Load Balancing (ELB) của Amazon (ELB) hoặc Local Traffic Manager của F5. Các tổ chức khác thì lựa chọn từ xây dựng nó thành phần mềm với HAProxy, nginx hoặc HTTP proxy hoặc web server khác được triển khai như một bộ cân bằng tải. Một lần nữa, điều quan trọng nhất là nó phải dễ sử dụng và cho phép bạn áp dụng logic hoặc quy tắc như: Traffic hiện đang đi vào các backend này, nhưng sau khi triển khai, nó sẽ chuyển sang các backend khác.
Các mối quan tâm về Load balancing
Thêm một lớp cân bằng tải trước các backend tức là bạn đã tạo ra một single point of failure trong kiến trúc của mình. Nếu bạn có 10 backend web server, bất kỳ server nào bị cũng sẽ không gây ra gián đoạn dịch vụ. Nhưng nếu bạn có một single load balancer, sự cố của nó sẽ ảnh hưởng cả hệ thống. Điều đó có nghĩa là bộ cân bằng tải của bạn phải rất linh hoạt, thậm chí linh hoạt hơn bất kỳ tài nguyên nào đằng sau nó. Điều này đòi hỏi nhiều bộ cân bằng tải được triển khai theo cách sẵn sàng cao.
Cân bằng tải sử dụng (BGP) trong nội bộ
Với sự phát triển của trung tâm dữ liệu hiện đại, mọi bộ cân bằng tải sẽ định tuyến đến virtual IP mà bạn sử dụng cho dịch vụ, sau đó sẽ chọn server nào phục vụ lưu lượng. Điều này đảm bảo rằng các bộ định tuyến sẽ thực hiện cân bằng ở cấp độ IP cho các bộ cân bằng tải HTTP. Và sau đó từ các bộ cân bằng tải HTTP, chúng sẽ thực hiện kiểu cân bằng proxy HTTP này vào các web backend.
Lọc logic và các quy tắc khác trong load balancing
Lợi ích của "control point" là rất quan trọng trong thực hiện cân bằng tải. Đối với lưu lượng truy cập nội bộ, "control point" theo dõi các headers và đảm bảo mọi thứ hoạt động ổn định. Đối với lưu lượng truy cập đến từ bên ngoài, "control point" thực hiện giới hạn tỷ lệ, đưa vào danh sách đen các tác nhân xấu đang cố truy cập hệ thống hoặc định tuyến các yêu cầu đến các dịch vụ mới.
Theo Bizfly Cloud chia sẻ
>> Có thể bạn quan tâm: BizFly CDN - Giải pháp tăng tốc website tối ưu cho doanh nghiệp Việt Nam