Fault tolerance là gì? Hệ thống chịu lỗi có tác dụng gì?

1530
16-07-2018
Fault tolerance là gì? Hệ thống chịu lỗi có tác dụng gì?

Bạn đã biết đến khái niệm Fault tolerance là gì chưa? Nếu thật sự chưa hiểu về khái niệm này cùng Bizfly Cloud tìm hiểu những thông tin chi tiết ngay tại bài viết dưới đây nhé. 

Fault tolerance là gì? 

Fault tolerance đề cập đến khả năng của một hệ thống (computer, network, cloud cluster,) có khả năng tiếp tục hoạt động mà không bị gián đoạn khi một hoặc nhiều thành phần của nó gặp sự cố.

Mục tiêu của việc tạo ra một hệ thống chịu lỗi (fault-tolerant system) là ngăn chặn sự gián đoạn phát sinh từ một điểm thất bại duy nhất, đảm bảo tính sẵn sàng cao (high availability) và tính liên tục (business continuity) của các ứng dụng hoặc hệ thống thực hiện các nhiệm vụ quan trọng.

Fault-tolerant system sử dụng các thành phần backup tự động thay thế các thành phần có vấn đề, nhằm đảm bảo không gây gián đoạn dịch vụ. Bao gồm:

- Hardware systems: được sao lưu bằng hệ thống giống hệt hoặc tương đương. Ví dụ, một server có thể được thực hiện fault tolerant bằng cách sử dụng một server giống hệt nhau chạy song song, với tất cả các hoạt động giống đối xứng với backup server.

- Software systems: được sao lưu bởi các phiên bản phần mềm khác. Ví dụ, một cơ sở dữ liệu với thông tin khách hàng có thể được sao chép liên tục đến một máy khác. Nếu cơ sở dữ liệu chính bị hỏng, các hoạt động có thể được tự động chuyển hướng đến cơ sở dữ liệu thứ hai.

- Power sources: Hệ thống nguồn điện thay thế. Ví dụ, nhiều tổ chức có máy phát điện có thể trở thành nguồn điện thay thế trong trường hợp nguồn điện chính gặp sự cố (UPS).

Tương tự, bất kỳ hệ thống hoặc thành phần nào là một điểm lỗi có thể được thực hiện fault tolerant bằng cách sử dụng hệ thống dự phòng.

Fault tolerant đóng vai trò quan trọng trong chiến lược khắc phục sự cố (disaster recovery strategy). Ví dụ, các fault-tolerant systems với các thành phần backup trong đám mây có thể khôi phục lại các hệ thống thực hiện nhiệm vụ quan trọng một cách nhanh chóng, ngay cả khi sự cố đó là một thảm họa tự nhiên hoặc do con người gây ra, phá hủy cơ sở hạ tầng CNTT tại chỗ.

Phân biệt Fault tolerance và High availability 

High availability (tính khả dụng cao) đề cập đến khả năng giảm thiểu downtime của hệ thống trong khi hoạt động, tránh gây gián đoạn dịch vụ. Còn được gọi là uptime, uptime là phần trăm thời gian hoạt động của hệ thống trên tổng running time.

Trong hầu hết các trường hợp, business continuity strategy (chiến lược kinh doanh liên tục) sẽ bao gồm cả high availability và fault tolerance, để đảm bảo tổ chức có thể duy trì các chức năng quan trọng khi gặp sự cố nhỏ hoặc hứng chịu thảm họa.

Mặc dù cả high availability và fault tolerance đều đề cập đến chức năng của hệ thống, nhưng chúng đề là những thành phần không thể thiếu trong một thiết kế hệ thống của business continuity planning.

Hãy xem xét sự tương tự sau đây để hiểu rõ hơn sự khác biệt giữa high availabilityfault tolerance:

- Một chiếc máy bay hai động cơ là một Fault-tolerant system: nếu động cơ này bị hỏng, động cơ kia sẽ hoạt động thay thế, điều này giúp máy bay vẫn tiếp tục hành trình bay của mình một cách trơn tru.

- Ngược lại, một chiếc xe với lốp dự phòng là highly available. Một chiếc lốp bị xẹp sẽ làm chiếc xe phải dừng lại, nhưng downtime sẽ là tối thiểu vì đã có lốp thay thế sẵn sàng, việc thay lốp xe sẽ diễn ra trong thời gian ít nhất.

Fault tolerance là gì? Hệ thống chịu lỗi có tác dụng gì? - Ảnh 1.

Một số cân nhắc quan trọng khi tạo Fault-tolerant system và highly available system trong những thiết lập mang tính tổ chức:

- Downtime: Highly available system có mức gián đoạn dịch vụ tối thiểu cho phép. Ví dụ: một hệ thống có tính khả dụng "five nines" sẽ có downtime khoảng 5 phút mỗi năm. Một fault-tolerant system dự kiến sẽ hoạt động liên tục và không cho phép bất kỳ sự gián đoạn nào.

- Scope: High availability xây dựng trên một tập hợp các tài nguyên được sử dụng chung để quản lý các lỗi và giảm thiểu downtime. Fault tolerance dựa trên power supply backups, phần cứng hoặc phần mềm có thể phát hiện lỗi và ngay lập tức chuyển sang các thành phần dự phòng.

- Cost: Một Fault-tolerant system sẽ khá tốn kém, vì nó phải hoạt động liên tục, chưa kể còn phải bảo trì các thành phần dự phòng. High availability thường là tính năng đi kèm trong một gói dịch vụ tổng thể thông qua nhà cung cấp (ví dụ: nhà cung cấp BizFly Cloud Load Balancer).

Một số hệ thống có thể yêu cầu một thiết kế fault-tolerant, trong khi High availability có thể đáp ứng nhu cầu cho nhiều hệ thống khác nhau. Bạn nên cân nhắc khả năng chịu lỗi của mỗi hệ thống đối với việc gián đoạn dịch vụ, chi phí của các gián đoạn như vậy, thỏa thuận SLA hiện có được nhà cung cấp áp dụng không, cũng như chi phí và tính phức tạp của việc thực thi fault tolerance đầy đủ.

Load balancing và Failover: Fault Tolerance cho các ứng dụng web

Trong bối cảnh phân phối ứng dụng web, fault tolerance liên quan đến việc sử dụng các giải pháp load balancing và failover để đảm bảo tính khả dụng thông qua các dự phòng và khắc phục sự cố nhanh chóng.

Fault tolerance là gì? Hệ thống chịu lỗi có tác dụng gì? - Ảnh 2.

Load balancing và failover là cả hai khía cạnh không thể thiếu của Fault tolerance

Các giải pháp cân bằng tải cho phép ứng dụng chạy trên nhiều nút mạng, loại bỏ sự lo ngại về một điểm lỗi duy nhất. Hầu hết các load balancer tối ưu hóa phân phối workload trên nhiều tài nguyên máy tính, khiến chúng trở nên linh hoạt hơn đối với các hoạt động tăng đột biến có thể dẫn đến việc giảm tốc độ làm việc và các gián đoạn khác.

Ngoài ra, cân bằng tải còn giúp đối phó với các lỗi mạng cục bộ. Ví dụ, một hệ thống có chứa hai production servers có thể sử dụng bộ cân bằng tải để tự động thay đổi workloads trong trường hợp một trong hai server bị lỗi.

Ngược lại, các giải pháp chuyển đổi dự phòng (failover) được sử dụng trong các trường hợp cực đoan nhất dẫn đến lỗi mạng hoàn toàn. Khi điều này xảy ra, một failover system được tính phí với việc kích hoạt nền tảng phụ (dự phòng) tự động, nhằm giữ cho một ứng dụng web tiếp tục chạy trong khi team IT đang khắc phục sự cố mạng.

Để có khả năng fault tolerance thực sự với downtime bằng 0, bạn cần triển khai "hot" failover, chuyển tải workloads ngay lập tức sang hệ thống dự phòng hoạt động. Nếu duy trì một hệ thống dự phòng hoạt động liên tục không phải là lựa chọn, bạn có thể sử dụng "warm" hoặc "cold" failover, khi này các backup systems cần thời gian để tải và bắt đầu xử lý các workloads.

Giải pháp BizFly Cloud Load balancing và Failover

BizFly Cloud cung cấp một bộ đầy đủ các giải pháp fault tolerance ứng dụng web. Đầu tiên có thể kể đến là cloud-based application layer load balancer (cân bằng tải lớp ứng dụng dựa trên đám mây) của BizFly Cloud có thể được sử dụng cho cả phân phối lưu lượng truy cập in-datacenter (local) and cross-datacenter (global).

Giải pháp được cung cấp thông qua mô hình load balancing as a service (LBaaS) được BizFly Cloud đề xuất sử dụng đối với các Cloud-Based Application của khách hàng. BizFly Cloud LBaaS sẽ giúp khách hàng triển khai Failover và HA một cách đơn giản và tiện dụng nhất.

BizFly Cloud LBaaS hỗ trợ nhiều thuật toán cân bằng tải cùng 1 lúc, nhằm tối ưu cách cân tải của khách hàng, như : Least Connection, Round Robin...

Mặt khác, giải pháp failover sử dụng health checks tự động từ nhiều vị trí địa lý để giám sát sự phản hồi của server.

Trong trường hợp xảy ra lỗi server, site traffic sẽ được định tuyến lại ngay lập tức đến một trang web dự phòng trong vài giây, đảm bảo tính khả dụng không bị gián đoạn. Kết quả là, ngay cả việc thực hiện failover từ xa cũng không bị bất kỳ sự chậm trễ liên quan đến TTL thường được tìm thấy trong các giải pháp dựa trên DNS khác.

Tất cả khách hàng doanh nghiệp của BizFly Cloud cũng được cung cấp 99.999% uptime SLA, đây là sự tự tin của chúng tôi về khả năng phục hồi của giải pháp và chất lượng dịch vụ của BizFly Cloud.

Theo Bizfly Cloud chia sẻ

>> Có thể bạn quan tâm: 7 điều không ai nói với bạn về Load Balancer

SHARE