Chuyển tới nội dung chính

Tiktuzki's space

Nhìn vào vực thẳm đủ lâu, vực thẳm cũng sẽ nhìn lại bạn...

Có gì ở đây

Ghi chép từ quá trình xây dựng backend — chủ yếu là hệ phân tán, hạ tầng bên dưới, và phần toán mà một vài hệ thống trong đó dựa vào. Viết để chính tôi đọc lại sau này.

Production patterns

Những failure mode chỉ xuất hiện khi có concurrency, retry và traffic thật — và lọt qua review vì chạy vẫn ổn lúc dev. Nhóm theo phần hệ thống mà chúng gây hại: runtime, storage, transaction, data modeling, API, hệ phân tán và thanh toán.

  • Concurrency
  • Idempotency
  • Transactions
  • Payments
Duyệt theo cấp độ

47 trang

Vận hành

Chạy MicroK8s trên một node bare-metal không có IP public: overlay NetBird để kết nối, Nginx Proxy Manager đứng trước, chứng chỉ RBAC cho từng người, backup lên S3, và checklist dựng lại khi mọi thứ phải khôi phục từ con số không.

  • MicroK8s
  • NetBird
  • ArgoCD
  • Patroni
  • RBAC

12 trang

Thiết kế hệ thống

Cụm WebSocket gateway fan-out sự kiện sàn giao dịch với độ trễ thấp, lưu ký crypto bằng MPC qua NATS có mã hóa xác thực, thanh toán định kỳ, và template SDD mà các tài liệu còn lại dựa theo.

  • WebSocket
  • NATS
  • MPC
  • Billing

8 trang

Mật mã học

Đường cong elliptic từ luật nhóm trở lên — ECC thực sự tính gì, ECDSA ký bằng nó ra sao, vì sao secp256k1 chọn bộ tham số như vậy, và phép nghịch đảo modulo mà mọi thứ dựa vào.

  • ECC
  • ECDSA
  • secp256k1
Demo tương tác phép cộng điểm

4 trang

Mạng

rust-libp2p trong thực tế: tầng transport và muxing, các protocol nền tảng, NAT traversal khi không peer nào có địa chỉ công khai, và một sân chơi p2p phi tập trung để thử nghiệm.

  • libp2p
  • Rust
  • NAT traversal
  • p2p

4 trang

Đồng thuận

Vì sao đạt đồng thuận giữa các replica lại khó, và hai giao thức vẫn làm được điều đó — Raft, bầu ra một leader mà mọi node tin tưởng, và Viewstamped Replication, đổi view khi leader ngừng phản hồi.

  • Raft
  • VSR
  • Replication

2 trang

Ngoài raLuyện phỏng vấn4Tham khảo4Trading1Duyệt theo tag125Lưu trữ4

Mới viết gần đây

  1. Cụm K8s devBackup cụmGit đã giữ trạng thái mong muốn, nên backup chỉ cần lưu phần Git không có — nay tự động upload lên S3 mỗi đêm.
  2. Cụm K8s devDựng lại node1 từ đầuChecklist tự làm từ MicroK8s trống đến một cụm chạy được, theo đúng thứ tự các bước phải diễn ra.
  3. Cụm K8s devCredential kubectl cho tài khoản cá nhânMicroK8s chỉ có một chứng chỉ admin dùng chung. Tạo user X.509 có tên riêng để audit log phân biệt được từng người.
  4. Thiết kế hệ thốngCụm WebSocket gatewayĐẩy sự kiện sàn giao dịch tới người dùng cuối: fan-out, backpressure, và thứ gì sập trước khi tải tăng.
Toàn bộ blog