본문 바로가기

s-market2

[s-market] 프로젝트 구조 s-market 프로젝트 구조에 대해서 소개합니다. 전반적인 프로젝트 구조는 도메인 중심 설계(Domain Driven Design)와 레이어드 아키텍처를 기반으로 구성했습니다.  도메인 중심 설계를 선택한 이유는, 프로젝트 초기부터 비즈니스 중심의 코드 구조를 지향하고, 변화에 유연하게 대응할 수 있는 기반을 마련하기 위해서입니다.핵심 도메인 로직은 domain 계층에 집중시키고, DB 접근, 인증, 메시지 처리 등 기술적인 요소는 infrastructure로 분리하여 관심사의 분리와 계층 간 역할을 명확히 하고자 합니다.또한, 도메인 모델을 VO, Entity, DTO로 구분하고, 비즈니스 유스케이스는 application 계층에서만 다루도록 구성함으로써, 기술 구현과 도메인 로직이 서로 얽히지 않도.. 2025. 3. 31.
[s-market] ERD 설계 개선하기 ERD 설계를 제대로 해볼까..?  이번글은 e-commerce 프로젝트를 진행하기 위해 설계한 ERD를 수정하는 글입니다.    공통 수정 사항1. 외래키를 제거합니다. (식별 관계에서 비식별 관계로 변경합니다.) 성능 이슈FK는 무결성을 유지하기 위해 항상 대상 테이블을 조회해서 체크해야 합니다.대량의 INSERT/DELETE/UPDATE가 발생할 때 성능이 떨어질 수 있습니다.  만약 100만 건을 insert하면 100만 번 회원 테이블을 조회해야 합니다.배포/삭제 시 제약부모 테이블 데이터를 삭제하려고 하면 FK로 인해 막히거나, 자식 테이블도 같이 삭제해야 하는 복잡한 작업이 생깁니다.서비스 구조가 MSA인 경우서로 다른 DB를 사용하면, 물리적인 FK 연결이 불가능합니다.논리적으로만 연결해두.. 2025. 3. 25.