- Published on
Bài viết này mình cùng anh em đi từ cách check duplicate username ngây thơ nhất (SELECT trước khi INSERT) đến việc hiểu tại sao nó vừa chậm vừa sai dưới concurrency, rồi từng bước xây dựng một giải pháp chịu được tải của hệ thống 100 triệu+ users - UNIQUE constraint (và cơ chế B+Tree đứng sau nó), pattern insert-and-catch, Redis SETNX fast-path, bài toán sharding, và cách kết hợp Bloom filter với cache tầng đọc để trả lời tức thì cho phần lớn request.
