Q

Quản trị viên

Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.

2300 bài viết · Website
DevOps 02/09/2026 9 phút

Dịch vụ của tôi chết 5 phút lúc 2 giờ sáng và giám sát thụ động bỏ sót 54% số lần — vì lúc đó 305/500 phút không có một request nào

Giám sát thụ động chỉ thấy lỗi khi có ai đó gặp lỗi. Tôi đo khoảng cách của nó so với kiểm tra tổng hợp: ban ngày hai cách ngang nhau, nhưng ban đêm — giờ không ai dùng — thụ động bỏ lọt hơn nửa số sự cố ngắn. Toàn bộ giá trị của synthetic check nằm ở đúng cái khoảng trống lưu lượng đó.

DevOps 02/09/2026 9 phút

Dựng cả một hệ giám sát từ số không tới chuông reo mất 11–20 giây — 39 phần còn lại chỉ để biết mình đang đo đúng thứ gì

Bài chốt sê-ri quan sát: tôi đo thời gian từ 'chưa có gì' tới lúc cảnh báo thật sự reo (11–20 giây), gom bốn mươi phần thành một danh sách kiểm và một bảng hằng số ước lượng được, rồi rút ra kết luận thật của cả sê-ri — hầu hết lỗi quan sát không báo lỗi, chúng chỉ hiện ra ở một con số vô lý khi có sẵn con số khác để đối chiếu.

Bảo mật 02/09/2026 9 phút

Tôi khai hai gói, môi trường thật cài bảy — và 17 trong 28 lỗ hổng nằm ở những gói tôi chưa bao giờ chọn

import requests không phải thêm một thư viện mà cả một cây. Tôi khai hai dependency cũ rồi quét bằng pip-audit: 28 lỗ hổng, phần lớn ở gói bắc cầu tôi chưa từng nghe tên (urllib3 một mình mang 13). Nâng phiên bản kéo cả 28 về 0 bằng một lệnh — nên cái đắt không phải vá, mà là biết mình cần vá. Kèm một lần tôi đo sai phạm vi phải làm lại.

Bảo mật 02/09/2026 9 phút

Tôi 'thu hồi' một JWT rồi đo — nó vẫn sống trọn đến khi hết hạn, vì không ai hỏi cơ sở dữ liệu; đây là điểm yếu cốt lõi của token không trạng thái

JWT không trạng thái mở rộng tuyệt vời vì máy chủ chẳng lưu gì — nhưng chính vì thế nó không thu hồi được: token bị thu hồi vẫn được chấp nhận cho tới khi exp trôi qua. Tôi đo cửa sổ đó (bằng đúng thời hạn), và cách thoát: access token ngắn + refresh token CÓ trạng thái thu hồi tức thì.

DevOps 02/09/2026 9 phút

Cùng ngân sách lưu trữ: lấy mẫu đầu giữ 10% trace lỗi, lấy mẫu đuôi giữ 100% — vì một bên quyết định trước khi biết kết quả

Trace đầy đủ đắt, lấy mẫu là câu trả lời. Nhưng lấy mẫu KIỂU NÀO đổi hẳn giá trị: cùng chi phí lưu, lấy mẫu đầu 10% giữ 10,48% trace lỗi, lấy mẫu đuôi giữ trọn 100% — chênh 9,5 lần thứ bạn thật sự cần. Cái giá của lấy mẫu đuôi là 46,3 MB bộ nhớ đệm, lớn hơn ước tính 3,6 lần.

Bảo mật 02/09/2026 9 phút

Một dòng log 'cho đầy đủ' đẩy mật khẩu, token và số thẻ vào file ở dạng nguyên văn — và bộ lọc che khoá vẫn để lọt bí mật qua một câu thông báo lỗi

Nhật ký kiểm toán là thứ bạn biết ơn khi có sự cố, nhưng ghi quá tay thì chính nó thành kho bí mật rò rỉ. Tôi đo: log ngây thơ đẩy 3 bí mật nguyên văn vào file, bộ lọc che theo khoá kéo về 0 mà vẫn giữ đủ dấu vết điều tra — rồi một exception ghi nguyên văn lại lọt bí mật qua đường bộ lọc không ngờ tới. Ghi nhiều hơn không an toàn hơn.