22.02.2017 Views

마이크로서비스 아키텍처 구축 : 대용량 시스템의 효율적인 분산 설계 기법_맛보기

샘 뉴먼 저/정성권 역 | 한빛미디어 | 2017년 03월 26,000원

샘 뉴먼 저/정성권 역 | 한빛미디어 | 2017년 03월
26,000원

SHOW MORE
SHOW LESS
  • 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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!