마이크로서비스 아키텍처 구축 : 대용량 시스템의 효율적인 분산 설계 기법_맛보기
샘 뉴먼 저/정성권 역 | 한빛미디어 | 2017년 03월 26,000원
샘 뉴먼 저/정성권 역 | 한빛미디어 | 2017년 03월
26,000원
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5.6 문제에 대처하기<br />
첫 번째 단계는 코드 자체를 살펴보고, 데이터베이스에 읽고 쓰는 코드 부분을 보는 것이다. 일<br />
반적인 관행은 하이버네이트와 같은 프레임워크가 지원하는 저장소 계층을 두고, 객체 또는 데<br />
이터 구조를 데이터베이스와 매핑하기 쉽게 만들어서 여러분 코드를 데이터베이스와 바인딩하<br />
는 것이다. 만약 지금까지 이러한 추세를 따라왔다면 우리 코드를 경계가 있는 콘텍스트를 대표<br />
하는 패키지로 그룹화했을 것이다. 우리는 데이터베이스에 접근하는 코드도 같은 방식을 적용하<br />
고 싶어 한다. 이것은 [그림 5-1]과 같이 저장소 계층을 여러 부분으로 분리하게 만든다.<br />
그림 5-1 저장소 계층의 분리<br />
<br />
<br />
<br />
<br />
특정 콘텍스트의 코드 내에 데이터베이스 매핑 코드를 함께 배치하면 어떤 코드가 데이터베이스<br />
의 어느 부분을 사용하는지 이해할 수 있다. 예를 들어 경계가 있는 콘텍스트 단위의 매핑 파일<br />
과 같은 것을 사용한다면 하이버네이트에서는 매우 명확할 것이다.<br />
하지만 이것이 전부는 아니다. 예를 들어 재무 코드는 원장( 元 帳 ) 5 테이블 ledge table 을 사용하고,<br />
제품 목록 코드는 행 항목 테이블 line item table6 을 사용한다. 그러나 여기서 데이터베이스가 원<br />
5 옮긴이_ 자산이나 부채, 자본의 상태를 표시하는 모든 계정계좌를 설정하여 분개장에서 분개한 거래를 전부 기록하는 장부(출처: 네이버<br />
사전)<br />
6 옮긴이_ 데이터 처리를 할 때 어떤 응용 목적상 같은 레벨에 있는 일련의 데이터로서, 논리적으로 같은 줄에 인쇄될 수 있는 것. 예를 들면<br />
재고 번호, 품명, 수량, 가격 등을 가리킨다(출처: 네이버 지식백과).<br />
130 <strong>마이크로서비스</strong> <strong>아키텍처</strong> <strong>구축</strong>