Trong bài viết này, mình sẽ cùng anh em tìm hiểu bài toán Inventory Reservation (giữ chỗ tồn kho) trong một hệ thống e-commerce có lượng truy cập đồng thời rất lớn, đặc biệt là lúc flash sale. Mình đi từ cách viết cơ bản nhất (đọc stock rồi trừ) và chỉ ra vì sao nó bị oversell, rồi lần lượt qua atomic UPDATE, pessimistic lock, optimistic lock, Redis Lua script và reservation có TTL, kèm code Java & Spring Boot cho từng cách và một bảng so sánh để anh em chọn đúng giải pháp cho hệ thống của mình.
Hello, Friends!
Hế lô các bạn, chào mừng các bạn đến với blog nhỏ của mình - nơi mình chia sẻ cũng như document lại những gì mình đã học, đã làm. Hi vọng nó sẽ giúp mình chịu khó viết hơn, và thật vui nếu nó đem lại giá trị gì đó cho các bạn.
- 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.
- Trong bài viết này, mình sẽ cùng anh em tìm hiểu về RSQL (RESTful Query Language), cách nó hoạt động, ưu điểm, thách thức, và gợi ý mở rộng nếu anh em muốn áp dụng vào dự án thực tế.
- Trong bài viết này, mình sẽ cùng anh em tìm hiểu cách xây dựng một workflow tự động để hỗ trợ viết code, sinh test và review code với sự kết hợp giữa AI Agent và N8N. Đây là một quy trình giúp anh em tận dụng sức mạnh của AI trong phát triển phần mềm, tự động hóa những bước lặp lại, đồng thời tối ưu hóa hiệu suất và chất lượng code trong dự án.
- Easy Quizzer là một ứng dụng quiz miễn phí được xây dựng hoàn toàn với sự hỗ trợ của AI, nhằm giúp người dùng luyện thi AWS, GCP, Azure một cách dễ dàng. Bài viết chia sẻ từ ý tưởng, công nghệ sử dụng, quá trình coding – fix bug, đến nhận xét ưu nhược điểm và kinh nghiệm triển khai.