[상품 주문 4편] 동시성 테스트
source 는 Github 에 있습니다. 목차는 상품 주문 에 있습니다. [상품 주문 4편] 동시성 테스트 Webflux, 코틀린, Redis, 분산락 공부를 위해 작성했습니다. 테스트 데이터 데이터를 아래와 같이 미리 만들었습니다. (Spring - schema.sql) Application 이 실행될 때, 아래 데이터가 INSERT 됩니다. id 는 productId, name 은 product_name, stock 은 재고입니다. insert into product (id, name, stock) values ('product1001', 'Product A', 1000), ('product1002', 'Product B', 2000), ('product1003', 'Product C', 3000)..
2023. 5. 8.
[상품 주문 1편] 개요 (Webflux, 코틀린, Redis, 분산락)
source 는 Github 에 있습니다. 목차는 상품 주문 에 있습니다. [상품 주문 1편] 개요 (Webflux, 코틀린, Redis, 분산락) Webflux, 코틀린, Redis, 분산락 공부를 위해 작성했습니다. 상품 주문 기능 상품 주문 시, 동시성을 보장해줘야 합니다. (DB 데이터가 꼬이지 않아야 합니다) 상품 주문 시, 재고 관리가 되야 합니다. (동시 요청에 재고 데이터가 꼬이면 안됩니다) 상품 주문 시나리오 클라이언트에서 상품 주문 API 를 호출합니다. (동시성을 보장해줘야 합니다.) 간단하게 입력 파라미터는 상품 ID, User Id, 구매수량을 입력받도록 진행했습니다. 상품 주문 API 가 들어오면 Redis 를 통해 분산락을 잡고 내부에서 DB 처리를 합니다. 분산락을 잡을 때는..
2023. 4. 5.