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.

그림 1-1 다양한 기술을 더 쉽게 포용하도록 만드는 <strong>마이크로서비스</strong> 1415<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

14 15<br />

<br />

<strong>마이크로서비스</strong>를 통해 기술을 더 신속히 적용할 수 있고, 개선된 새로운 기능들이 어떻게 도움<br />

이 될지 살펴볼 수 있다. 새로운 기술을 시험하고 적용하는 과정에서 최대 걸림돌은 새로운 기<br />

술을 도입했을 때 결국에는 잘 맞지 않을 수 있다는 위험이다. 모놀리식 애플리케이션에서 새로<br />

운 프로그래밍 언어, 데이터베이스 또는 프레임워크를 시도하면 그 변경은 시스템에 큰 영향을<br />

미칠 것이다. 하지만 다양한 독립 서비스로 구성된 시스템에는 새로운 기술 분야를 시험해볼 만<br />

한 곳이 많다. 혹시 잘못될 때 제한할 수 있는 방법이 있다면 리스크가 가장 낮은 서비스를 선택<br />

해서 그곳에 새로운 기술을 사용해볼 수 있다.<br />

물론 여러 기술을 함께 사용하면 문제가 전혀 없을 수는 없다. 몇몇 기업은 프로그래밍 언어 선택<br />

Java Virtual Machine<br />

에 일부 제한을 걸어둔다. 예를 들어 넷플릭스와 트위터는 대부분 자바 가상 머신<br />

(JVM)을 플랫폼으로 사용하는데, 이는 JVM의 신뢰성과 성능을 매우 잘 이해하고 있기 때문이<br />

다. 또한 그들은 대규모 <strong>시스템의</strong> 운영을 더 쉽게 만드는 JVM용 라이브러리와 도구를 개발하<br />

고 있지만 자바 기반이 아닌 서비스와 클라이언트로는 어려움이 더 많다. 그렇다고 해서 트위터<br />

나 넷플릭스가 한 가지 기술 스택을 모든 작업에 사용하는 것은 아니다. 다른 기술들의 병행 사<br />

용에 우려되는 또 다른 요소는 (서비스의) 크기다. 만약 실제로 2주 안에 <strong>마이크로서비스</strong>를 재<br />

작성할 수 있다면 새로운 기술을 적용하는 데 따른 리스크를 완화할 수 있을 것이다.<br />

이 책을 통해 알게 되겠지만 <strong>마이크로서비스</strong>와 관련된 다른 많은 사항과 마찬가지로 올바른 균<br />

형을 찾는 것이 최선이다. 진화적 <strong>아키텍처</strong>를 주로 다루는 2장에서는 기술을 선택하는 방법을 논<br />

14 옮긴이_ 그래프 DB는 노드, 에지, 프로퍼티에 대한 시맨틱 검색을 위해 그래프 구조를 사용하는 데이터베이스 시스템으로 Neo4j,<br />

Titan, OrientDB 등이 있다.<br />

15 옮긴이_ Blob(Binary Large Object) 저장소는 이미지, 오디오, 멀티미디어 및 파일을 저장하는 데 사용하는 저장 시스템이다. AWS<br />

S3 또는 Azure Blob 스토리지 등이 있다.<br />

32 <strong>마이크로서비스</strong> <strong>아키텍처</strong> <strong>구축</strong>

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

Saved successfully!

Ooh no, something went wrong!