Người đăng: ESAT Admin 433 lượt xem 17:27 14/07/2023

Phân biệt High Availability, Cluster, Network Load Balancer và Failover

Phân biệt các khái niệm High Availability, Cluster, Network Load Balancer và Failover

+ HA là một lý thuyết chứ không phải là một công nghệ cụ thể, được đo bằng % uptime của dịch vụ đó trong khoảng thời gian, ví dụ HA=99.999%/1 năm. Để nâng cao %HA người ta phải kết hợp nhiều công nghệ đồng thời dưới đây.
+ NLB nhằm nâng cao tính sẵn sàng và chia tải ở mức Network khi dịch vụ được cung cấp trên nhiều node. Hạn chế của NLB bao gồm 1) Khi sự cố xảy ra, các giao dịch chưa hoàn thành (đang quá trình mua hàng và thanh toán thẻ chẳng hạn) trên node lỗi sẽ không thể tiếp tục trên các node khác vì node khác không biết gì về giao dịch đó 2) NLB không đủ thông minh để chia tải theo năng lực phần cứng hay mức độ busy của từng máy chủ đang chạy
+ Cluster là việc kết hợp nhiều phần cứng riêng lẻ thành một cụm để cung cấp dịch vụ. Cluster có thể là Active-Active hay Active-Standby tùy theo từng hãng. Ví dụ Microsoft SQL Server là A-S, Oracle RAC là A-A. Cluster có thể là các máy để cạnh nhau trong data center hoặc các máy nằm xa nhau (HP có công nghệ continenal cluster). Ưu điểm của A-S là chi phí thấp và dễ triển khai, dễ quản trị. Ưu điểm của A-A là vừa giải quyết được vấn đề tính sẵn sàng và vừa chia được tải, nhược điểm là khó quản trị, chi phí phần cứng đắt, năng lực tổng không tăng tuyến tính theo số node mà sẽ tăng chậm dần. Thường Cluster A-A trên 4 node chỉ tăng được 200%-300% so với 1 node tùy theo công nghệ mỗi hãng.
+ Failover là khả năng khi một node bị sự cố, giao dịch sẽ được tiếp tục phục vụ trên 1 node khác trong cluster mà client không phải thực hiện lại từ đầu. Để có thể failover được thì NLB chỉ giải quyết được phần ngọn, còn phần gốc là toàn bộ các thông tin giao dịch trong bộ nhớ của node sự cố phải được replicate sang các node khác. Oracle DB sử dụng công nghệ RAC để liên tục đồng bộ hóa các memory block giữa các node - đó là lý do trên 4 node giải thuật rất phức tạp và không hiệu quả, RAC đòi hỏi tốc độ của kết nối interconnect giữa các node phải rất cao. Thường là NIC 10Gbps, các hệ thống như Oracle Exadata sử dụng card infiniband 40-80Gbps. Microsoft IIS tiếp cận theo cách đơn giản hơn, gọi là Session state server. Bản chất là một service của Windows chạy trên 1 node để replicate các biến session variables của ứng dụng sang node khác, hoặc save liên tục vào một SQL Server database (gọi là persistent state server). Cách làm của MS thì trách nhiệm HA được đẩy cho lập trình viên khi phát triển ứng dụng .NET phải lưu các biến cần thiết xuống state server.

Nguồn sưu tầm: http://www.ists.com.vn/