1. Sub 성능 개선

참고하면 좋은 자료들

[redis] 트랜잭션(Transaction) - 이론편

Redis에서 트랜잭션 처리 방법

[database] 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock)

Transactions

  1. BullJS Process concurrency 를 통해 Worker 수 증가

→ 이 메서드를 사용하면 Queue에 쌓여있는 message를 병렬적으로 처리할 수 있음

→ 즉, Message를 더 빠르게 처리할 수 있다.

@Process({ name: 'createBooking', concurrency: 5 })
  async createBooking(job: Job<unknown>) {
    // Job을 변수로 사용, Queue에 Job이 등록되면 Job을 가져온다.
    console.log(job.id);
    const bookingData = job.data;
    // createBooking 메서드를 통해 예매 진행
    const createBooking = await this.bookingService.createBooking(bookingData);
  }

Untitled

동시성이 잡히지 않는 모습 확인