Xây dựng nền tảng cho dịch vụ coupon
약 124분Chuẩn bị môi trường thực hành và xây dựng các chức năng tạo, phát hành, tra cứu coupon. Ngăn người dùng phát hành trùng lặp bằng ràng buộc duy nhất trong DB.
Tự xây dựng máy chủ phát hành coupon theo nguyên tắc ai đến trước được phục vụ trước, bạn sẽ hoàn thành việc học về tính đồng thời, bất đồng bộ, bộ nhớ đệm, tính nhất quán và tính khả dụng chỉ trong 4 tuần. Mọi cải tiến chức năng đều được chứng minh bằng kết quả kiểm thử tải k6, đồng thời hoàn thành khóa học trong 4 tuần nhờ xác nhận hoàn thành theo từng tuần—thay vì trì hoãn hàng tháng khi học một mình.
5회 미션 수행
성취의 증표, 수료증을 발급해요.
무제한 복습, 내 것으로 만들어요.
질문하고 즉시 답을 얻어요.
Xác minh sự nghiệp
1,520
Học viên
55
Đánh giá
47
Trả lời
4.9
Xếp hạng
6
Các khóa học
Tôi đã từng làm việc tại Kakao, SK với tư cách là nhà phát triển,
từng thiết kế và vận hành nhiều hệ thống backend đa dạng trong môi trường dịch vụ thực tế.
Tôi đang tạo ra các nội dung chia sẻ kiến thức với hy vọng rằng
những sai lầm và trăn trở mà tôi đã trải qua có thể giúp tiết kiệm dù chỉ một chút thời gian và sự lựa chọn của các bạn học viên.
Nếu bạn có bất kỳ ý kiến hoặc điểm nào cần cải thiện về nội dung,
xin vui lòng liên hệ với tôi qua email bên dưới bất cứ lúc nào.
Tôi rất mong nhận được những phản hồi chân thành từ các bạn. Xin cảm ơn.
apiece.dev.ai@gmail.com
Học thiết kế hệ thống qua máy chủ phát hành coupon theo thứ tự đăng ký trước-sau
Cùng xây dựng dịch vụ phát hành coupon theo nguyên tắc ai đến trước được phục vụ trước và từng bước giải quyết các vấn đề phát sinh khi lượng yêu cầu dồn dập. Hãy đồng hành trong 4 tuần, từ xem bài giảng đến xác nhận hoàn thành toàn bộ khóa học.
Phí tham gia thử thách là miễn phí. Những bạn chưa học khóa học vẫn có thể đăng ký.
Điều sẽ học
Phiếu giảm giá có thể được phát hành nhiều hơn số lượng đã chuẩn bị, phản hồi có thể bị chậm hoặc dữ liệu có thể bị bỏ sót khi lưu. Bạn sẽ trực tiếp tái hiện những tình huống này, xác định nguyên nhân rồi cải thiện thiết kế.
Nếu có nhiều yêu cầu cùng lúc gửi đến cùng một lượng tồn kho thì chuyện gì sẽ xảy ra? Chúng ta sẽ so sánh khóa DB và Redis Lua, đồng thời tìm hiểu cách đảm bảo số lượng phát hành và quy tắc mỗi người chỉ được nhận 1 vé.
Tìm các đoạn phản hồi chậm và tách riêng việc lưu trữ bằng Kafka. Đồng thời, chúng ta cũng xử lý vấn đề các truy vấn dồn vào DB khi bộ nhớ đệm hết hạn.
Xử lý lại các tin nhắn lưu thất bại và đồng bộ bản ghi giữa Redis và MySQL. Áp dụng phòng chờ và giới hạn yêu cầu để máy chủ chỉ tiếp nhận số lượng yêu cầu trong khả năng xử lý.
Lộ trình học trong 4 tuần
Mỗi tuần, hãy xem khoảng 2–3 giờ bài giảng và tải lên màn hình hoàn thành toàn bộ phần học đó. Chúng ta sẽ liên tục phát triển một dịch vụ phiếu giảm giá, lần lượt xử lý các vấn đề về tính đồng thời, bộ nhớ đệm và tính nhất quán.
Chuẩn bị môi trường thực hành và xây dựng các chức năng tạo, phát hành, tra cứu coupon. Ngăn người dùng phát hành trùng lặp bằng ràng buộc duy nhất trong DB.
Dùng k6 để tái hiện tình trạng phát hành vượt mức và so sánh khóa DB với Redis Lua. Tiếp đó, áp dụng Kafka để tách phản hồi người dùng khỏi việc lưu dữ liệu vào DB.
Đo lường tải mà việc truy vấn lặp lại gây ra cho máy chủ. Áp dụng Single Flight và SWR để giảm hiện tượng các yêu cầu dồn vào DB khi bộ nhớ đệm hết hạn.
Khôi phục các tin nhắn thất bại bằng DLT và đồng bộ dữ liệu giữa Redis với MySQL. Chuẩn bị cho tình huống các yêu cầu đổ dồn cùng lúc bằng phòng chờ ảo và Rate Limiter.
Nhiệm vụ học tập là xác nhận hoàn thành toàn bộ khóa học theo từng tuần.
Bạn chỉ cần học đủ phần đã quy định và đăng ảnh màn hình hoàn thành khóa học. Không có bài tập riêng hay đánh giá code.
Thời lượng trên được tính theo thời gian xem video. Bạn sẽ cần thêm thời gian riêng để trực tiếp thực hành.
Sản phẩm tự mình tạo ra
Triển khai toàn bộ quy trình gồm tiếp nhận yêu cầu, kiểm tra tồn kho và lưu lại lịch sử cấp phát. Đặt cùng một mức tải để so sánh tốc độ phản hồi và tỷ lệ lỗi, đồng thời kiểm tra số lượng đã cấp phát và các trường hợp lưu thiếu.
Khóa học được thực hiện bằng Kotlin và Spring Boot, đồng thời cung cấp mã thực hành cho cả phiên bản Kotlin và Java. MySQL, Redis và Kafka được chạy bằng Docker Compose.
Đối tượng phù hợp
Bạn cần biết về HTTP và REST API, SQL cơ bản, cùng cú pháp Java hoặc Kotlin. Nếu đã từng tạo API bằng Spring Boot thì càng tốt. Dù chưa từng sử dụng Redis và Kafka cũng không sao.
Hướng dẫn tham gia
Những bạn đã và đang học khóa học, cũng như những bạn mới bắt đầu, đều có thể tham gia. Nếu bạn chưa đăng ký học, trước tiên hãy đăng ký tham gia thử thách, sau đó xem hướng dẫn về mã giảm giá bên dưới.
Hoàn thành khóa học, bạn sẽ nhận được chứng nhận.
Nếu tổng hợp mã nguồn đã triển khai và kết quả kiểm thử tải, bạn có thể sử dụng chúng làm portfolio trình bày quá trình thiết kế.
FAQ
Có, bạn có thể tham gia bất kể tiến độ hiện tại của mình. Bạn chỉ cần bắt đầu từ nhiệm vụ của tuần 1 và xác nhận hoàn thành đầy đủ nội dung theo quy định.
Có. Khóa học được giảng dạy bằng Kotlin, đồng thời bạn cũng có thể xem mã nguồn Java trong tài liệu khóa học.
Nếu bạn có kinh nghiệm với Java và Spring thì có thể theo kịp. Các cú pháp Kotlin cần thiết cũng sẽ được giải thích trong quá trình thực hành.
Cấu trúc Controller, Service và DI tương tự nhau, nên bạn có thể tận dụng kinh nghiệm backend sẵn có. Với những cú pháp và khái niệm còn xa lạ, bạn có thể vừa học vừa nhờ AI hỗ trợ.
Dành cho những người chưa học khóa học này
Sau khi đăng ký thử thách, hãy gửi lời cam kết của bạn cho nhiệm vụ trước khi thử thách bắt đầu. Chúng tôi sẽ tặng bạn một phiếu giảm giá 30% có thể sử dụng cho khóa học liên kết.
Truy cập ngay khóa học này
Thiết kế hệ thống máy chủ chịu được lưu lượng tăng đột biến - Dịch vụ phát hành coupon
9월
27일
챌린지 시작일
2026년 9월 27일 오후 03:00
챌린지 종료일
2026년 10월 25일 오후 02:30
Tất cả
5 bài giảng
Tài liệu khóa học:
Khả năng thiết kế và triển khai API phát hành coupon theo thứ tự đăng ký trước mà không phát hành vượt quá số lượng quy định
Tiêu chí lựa chọn phương thức phù hợp với từng tình huống: khóa bi quan, khóa phân tán Redis hay thao tác nguyên tử Lua
Khả năng tái hiện tải bằng k6 và chứng minh bằng các con số hiệu năng trước và sau khi cải thiện
Thiết kế xử lý bất đồng bộ không làm mất các yêu cầu thất bại với Kafka và DLT
Chiến lược bộ nhớ đệm Single Flight và SWR để ngăn Cache Stampede
Khóa học này dành cho ai?
Lập trình viên backend mới vào nghề biết lý thuyết nhưng chưa từng trực tiếp xây dựng máy chủ chịu lượng lớn lưu lượng truy cập.
Học viên muốn tìm hiểu về kinh nghiệm xử lý lưu lượng truy cập lớn
Người đã thanh toán khóa học nhưng bị mắc kẹt ở phần 1 suốt vài tháng.
Cần biết trước khi bắt đầu?
Cần có kinh nghiệm tạo một REST API đơn giản bằng Spring Boot.
Bạn nên quen thuộc với cú pháp Kotlin hoặc Java. Mã thực hành được cung cấp bằng cả hai ngôn ngữ.
취소 및 환불 규정
챌린지는 지식공유자가 설정한 수업 최소 정원이 충족되지 않을 경우, 폐강 안내가 고지되며 결제 내역이 자동취소됩니다.
Hãy khám phá các khóa học khác của giảng viên!
모집 인원 300명
Miễn phí