Tư duy kiến trúc phòng thủ: Khi code của bạn không còn là nguyên nhân duy nhất gây lỗi

- Bản chất của sự không ổn định (Unpredictability)
Trong môi trường microservices hiện đại, hệ thống của bạn không còn là một ốc đảo đơn độc. Nó là một mắt xích trong mạng lưới các API, Cloud Services và CDN. Sai lầm lớn nhất của Senior Engineer đôi khi là chỉ tập trung tối ưu hóa "Internal Logic" mà quên mất rằng: Hệ thống mạnh nhất chính là hệ thống biết cách ứng phó khi các mắt xích khác sụp đổ.
- Chiến lược "Graceful Degradation" (Thoái hóa mềm)
Thay vì để toàn bộ hệ thống lăn ra chết khi một API gọi ngoài bị timeout, chúng ta cần tư duy về khả năng cắt tỉa tính năng.
- Circuit Breaker: Đừng cố đấm ăn xôi gọi một service đang lỗi. Hãy ngắt kết nối tạm thời.
- Fallback Mechanism: Trả về dữ liệu cache hoặc một thông báo mặc định thân thiện thay vì lỗi 500.
- Phân lập lỗi: Mindset của một "Thám tử" hệ thống
Khi hệ thống xảy ra vấn đề, phản xạ đầu tiên của nhiều người là vào check Git log xem ai vừa deploy. Nhưng thực tế, rất nhiều case lỗi đến từ việc một mô hình AI hoặc một service hạ tầng nào đó bị "chết lâm sàng" mà không báo trước.
Việc tích hợp các bộ chỉ số từ bên ngoài, ví dụ như kiểm tra trạng thái qua ai down tracker trong quy trình phân tích tự động, sẽ giúp bạn loại bỏ ngay lập tức các "nghi phạm" ngoại lai. Điều này giúp team tập trung vào đúng vấn đề: Do mạng, do nhà cung cấp dịch vụ, hay thực sự là do logic code. Đừng lãng phí hàng giờ debug khi vấn đề vốn dĩ không nằm trong tay bạn.
- Đừng tin vào Uptime 99.9%
Mọi con số cam kết từ nhà cung cấp (SLA) chỉ mang tính tham khảo. Một Senior thực thụ luôn đặt câu hỏi: "Nếu thằng cung cấp dịch vụ sập, tôi sẽ làm gì?".
- Idempotency: Đảm bảo retry không gây ra rác dữ liệu.
- Observability over Monitoring: Đừng chỉ nhìn vào Dashboard xanh hay đỏ, hãy nhìn vào hành vi của dòng dữ liệu.
All rights reserved