항해 플러스

[백엔드 4기] 9주차 팀별 회고 노트

느리지만 꾸준하게 2024. 5. 11. 16:21

### 1. 문제 **(과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)**

이번 주차를 지나며 겪었던 문제가 무엇이었나요?

이커머스 프로젝트에 유저 포인트 사용/충전에 대해서 History를 남기고, 인덱스 고려등을 많이 하지 않은거 같아서 조금 어려운 부분이 있었습니다.

 

### **2. 시도**

문제를 해결하기 위해 어떤 시도를 하셨나요?

시도라기 보다는 주문아이템 테이블에 대해서 orderId를 이용해서 인덱스를 걸거나, 사용자 포인트 사용/충전에 대해서 History를 남기는 것을 차주에 진행해야 할 거 같습니다.

 

### **3. 해결**

문제를 어떻게 해결하셨나요?

-

 

### **4. 알게된 것**

문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?

DB 조회 쿼리 성능 개선을 위해 Index 의 활용을 고민하고 캐시 레이어의 적용을 통해 DB I/O를 줄이는 방법을 조금 알게되었습니다.

 

 

### **Keep : 현재 만족하고 계속 유지할 부분**

이번 주를 마무리 하며 나에게 만족했던 부분은 무엇인가요?

대용량 트래픽 관련 동시성 문제와 극복부터 책임 분리를 통한 애플리케이션 설계 까지 전반적으로 비즈니스 로직에서 적절한 트랜잭션의 범위에 대해서 고민하는 시간을 가졌던거 같습니다.

 

 

### **Problem : 개선이 필요하다고 생각하는 문제점**

이번 주를 마무리 하며 개선이 필요하다고 생각했던 문제점은 무엇인가요?

새로운 챕터에 들어가기전에 다시 한번 다량의 트래픽을 처리하는 방법과 DB 조회 쿼리 성능 개선을 위한 Index 활용 및 캐시 레이어의 적용을 통해 DB I/O를 줄일 방법을 고민해야 할 거 같습니다.

 

 

### **Try : 문제점을 해결하기 위해 시도해야 할 것**

이 문제점을 해결하기 위해 다음 한 주간 시도 할 것은 무엇인가요?

전체적으로 현업에서 동시성 문제를 처리하는 방법을 다시한번 생각해보고 DB Transaction과 Lock 범위에 따른 처리고려하여 상황에 따라서 어떤 Lock을 적용해야 할 지 기준과 순서를 잡아야 할 거 같습니다.