본문 바로가기

내일 배움 캠프

2024-01-12

오늘은 프로젝트 9일 차이다. 진행한 내용은 다음과 같다.

1. 진행 중이었던 회의를 마무리하고 새로운 ERD 편성 및 Entity 조정, 공연 생성 API 구성

 

1. 기존에 진행중이였던 공연 생성 시 좌석을 생성하고 이후 회차와 좌석의 정보를 통해 공연 회차별 좌석을 생성하던 방식은 데이터 베이스에 부하를 너무 많이 걸어서 DB가 다운되는 현상이 우려됐었다. 따라서 기존의 방식을 변경하고 새로운 방식으로 변경했다.

 

변경한 방식은 좌석을 생성하지말고 구역의 정보와 구역에 대한 등급의 정보를 통해 예매 및 경매를 할 때 요청이 들어오면 경매를 생성해 주는 방식으로 변경했다. 이러한 방식으로 진행을 하면 기존에 생성하는 것이 아닌 예매가 들어오거나 경매 요청이 오면 좌석을 생성하는 방식이기 때문에 Insert부분을 최대한 분산해서 처리할 수 있다. 이게 대용량으로 처리했을 때 부하가 얼마나 갈지는 모르겠지만 일단 이게 최선인 것 같아서 이대로 진행해보려고 한다.

 

이후 전반적인 수정된 ERD를 바탕으로 Entity 수정을 진행했고 다시 공연장 생성 API부터 작성을 진행 및 테스트 코드까지 완료한 상태이다.

 

이번에는 로직을 작성할 때 Admin Service에서 다른 서비스의 리포지토리를 메서드 통해 데이터만 가져오는 방식이 아닌 Admin Serivce는 하위 도메인 Service의 메서드를 호출하여 메서드의 결괏값만 가져와서 응답값만 보내주는 역할만 할 수 있게 단일책임 원칙을 적용해요 최대한 유지보수가 쉽게끔 작성하려고 하고 있다.

 

이유는 이번 ERD 변경할 때 AdminService에만 메서드를 작성하다 보니 너무 높은 결합도로 인해 확장성이 떨여 저 전반적으로 수정하여 사용할 수 있는 메서드가 별로 없었다. 따라서 단일책임원칙과 확장성 및 재사용성을 최대한 고려해 백오피스를 완성할 예정이다.

 

 

 

'내일 배움 캠프' 카테고리의 다른 글

2024-01-16  (1) 2024.01.17
2024-01-15  (0) 2024.01.16
2024-01-11  (0) 2024.01.12
2024-01-10  (1) 2024.01.11
2024-01-09  (0) 2024.01.10