항해 플러스 백엔드 WIL - 5주차 회고

최초 업로드 2025-08-10 / 마지막 수정 2025-08-10

  • 이제 항해의 절반이 끝났다.
  • 사실 지친다기보다는 fail 받는게 무서워서 그게 제일 스트레스다. 배우는 것은 알차고 재밌다.
  • 오늘 중간 네트워킹 모임도 다녀왔다. 생각보다 즐겁게 대화하다가 왔다고 느낀다. 다 각자의 개발환경이 달라서 다른 환경들에서 어떻게 느끼시면서 개발하는지 들을 수 있어서 시야가 넓어지는 느낌이었다. (간접 경험 느낌?)

5주차 과제는 DB Lock이었다.

  • 음.. DB Lock 상당히 흥미로운 주제였다. 혼자 나름 고민해서 낸 솔루션은 컬럼에 경합이 엄청 걸리면 테이블 단위에서 해볼 수 있는 것은 - 테이블 분리라는 것이다.
  • 특히 쿠폰의 경우 발급, 사용, 복구, 취소 이벤트가 있었는데, 발급에 모든 트래픽이 몰리는 동시에 혼자 컬럼하나에만 경합이 발생해서 그 컬럼만 테이블을 빼는 초이스도 기술적으로 가능해보였다.
  • 낙관적 락이 생각보다 빨리 죽어서 경합 강한 컬럼은 비관적 락으로 구현했다. 오늘 5주차 발제 때 나온 redis로 이제 어플리케이션 레벨에서의 분산 락을 위에 추가 구현해야한다.

6주차 TODO + Priority 정리

  • 6주차 TODO:

    • simple lock 구현 + 통테 - 2시간
    • spin lock + 통테 - 30분
    • pub sub + 통테 - 4시간
    • db lock 주의 사항 고민 - 4시간
      • db 트랜잭션과 redis 락의 호출/래핑 순서
      • 각 락 획득 키 이름, 분리, 범위 전략
    • k6 로드 테스트로 아래 항목 모두 비교 - 4시간+
      • db optimistic lock
      • db pessimistic lock
      • redis simple lock
      • spin lock
      • pub sub lock
    • 캐싱 구현 - 3시간
      • 주요 캐시 필요한 엔드포인트 식별
      • Redis 캐싱 구현
        • Eviction Expiration 전략 잘 세우기
        • 리포트 작성
        • 구현
  • 필수:

    • P0 simple lock 2시간
    • P0 spin lock 30분
    • P0 db lock 주의사항 고민 4시간
    • P0 캐싱 구현 3시간
  • 시간 남는 만큼:

    • pub sub 개념 이해
    • k6 로드 테스트
    • pubsub + 통테

항해 플러스 백엔드 WIL - 5주차 회고

최초 업로드 2025-08-10 / 마지막 수정 2025-08-10

  • 이제 항해의 절반이 끝났다.
  • 사실 지친다기보다는 fail 받는게 무서워서 그게 제일 스트레스다. 배우는 것은 알차고 재밌다.
  • 오늘 중간 네트워킹 모임도 다녀왔다. 생각보다 즐겁게 대화하다가 왔다고 느낀다. 다 각자의 개발환경이 달라서 다른 환경들에서 어떻게 느끼시면서 개발하는지 들을 수 있어서 시야가 넓어지는 느낌이었다. (간접 경험 느낌?)

5주차 과제는 DB Lock이었다.

  • 음.. DB Lock 상당히 흥미로운 주제였다. 혼자 나름 고민해서 낸 솔루션은 컬럼에 경합이 엄청 걸리면 테이블 단위에서 해볼 수 있는 것은 - 테이블 분리라는 것이다.
  • 특히 쿠폰의 경우 발급, 사용, 복구, 취소 이벤트가 있었는데, 발급에 모든 트래픽이 몰리는 동시에 혼자 컬럼하나에만 경합이 발생해서 그 컬럼만 테이블을 빼는 초이스도 기술적으로 가능해보였다.
  • 낙관적 락이 생각보다 빨리 죽어서 경합 강한 컬럼은 비관적 락으로 구현했다. 오늘 5주차 발제 때 나온 redis로 이제 어플리케이션 레벨에서의 분산 락을 위에 추가 구현해야한다.

6주차 TODO + Priority 정리

  • 6주차 TODO:

    • simple lock 구현 + 통테 - 2시간
    • spin lock + 통테 - 30분
    • pub sub + 통테 - 4시간
    • db lock 주의 사항 고민 - 4시간
      • db 트랜잭션과 redis 락의 호출/래핑 순서
      • 각 락 획득 키 이름, 분리, 범위 전략
    • k6 로드 테스트로 아래 항목 모두 비교 - 4시간+
      • db optimistic lock
      • db pessimistic lock
      • redis simple lock
      • spin lock
      • pub sub lock
    • 캐싱 구현 - 3시간
      • 주요 캐시 필요한 엔드포인트 식별
      • Redis 캐싱 구현
        • Eviction Expiration 전략 잘 세우기
        • 리포트 작성
        • 구현
  • 필수:

    • P0 simple lock 2시간
    • P0 spin lock 30분
    • P0 db lock 주의사항 고민 4시간
    • P0 캐싱 구현 3시간
  • 시간 남는 만큼:

    • pub sub 개념 이해
    • k6 로드 테스트
    • pubsub + 통테
Copyright © 2023 Seho Lee All Rights Reserved.
</>
Latest Commit
98771c25-4a52-5bde-8f14-da6328217ad1
Seho Lee
2025-08-10T05:06:28Z