SPOF là thành phần mà khi nó hỏng thì cả hệ thống hoặc một luồng nghiệp vụ chính dừng hoạt động.
Cách rà soát: đi qua từng hộp trên sơ đồ và hỏi "nếu cái này chết bây giờ thì sao". Những chỗ hay bị bỏ sót:
- Database primary — chỉ có replica đọc thì ghi vẫn chết. Cần failover tự động và bầu chọn primary mới.
- Load balancer — bản thân nó cũng cần cặp đôi và một IP nổi, hoặc dùng dịch vụ quản lý của nhà cung cấp.
- Một availability zone — mọi instance nằm cùng một AZ thì mất AZ là mất hết. Trải qua tối thiểu 2-3 AZ.
- Dịch vụ phụ trợ dùng chung — service discovery, config server, hệ xác thực. Chúng không nằm trên luồng chính nhưng mọi service đều phụ thuộc.
- Phụ thuộc bên ngoài — cổng thanh toán, gửi SMS. Không thể nhân bản, nên phải có timeout, hàng đợi và phương án khi bên đó ngừng.
- DNS và chứng chỉ TLS — chứng chỉ hết hạn gây gián đoạn toàn cục, thường bị bỏ khỏi sơ đồ.
Cách khắc phục: nhân bản thành phần (ít nhất N+1), trải qua nhiều AZ, health check để loại node hỏng khỏi vòng phục vụ, và failover phải được diễn tập chứ không chỉ tồn tại trên giấy.
Một nguyên tắc đáng nêu là static stability: hệ thống nên tiếp tục hoạt động ở trạng thái đã biết khi mặt phẳng điều khiển hỏng, thay vì phụ thuộc vào việc cấp phát tài nguyên mới ngay lúc đang có sự cố.