Page 12 -
P. 12

그림처럼 뉴스, 카페, 웹툰, 결제 등의 서비스가 하나의 애플리케이션 안에 포함된 경우를 생각해
               봅시다. 보안이나 데이터베이스 접속과 같은 설정을 공통으로 사용하면서 서비스를 구현한다면
               개발 속도는 매우 빠를 것입니다. 하지만 웹툰 서비스의 사용량이 폭발적으로 증가해 서버를 증설

               해야 한다고 가정해 봅시다. IaaS 덕분에 사용량 증가에 따라 인프라를 증설하는 것은 어렵지 않
               습니다. 그렇지만 웹툰 서비스의 사용량이 늘었다고 해서 뉴스, 블로그 등의 다른 서비스가 포함
               된 애플리케이션까지 확장하는 것은 상당히 비효율적입니다. 게다가 특정 서비스를 수정하는 과
               정에서 예기치 못한 에러가 발생한다면 해당 서비스 외에 전체 서비스를 이용할 수 없는 상황이
               생길 수도 있습니다. 그래서 이러한 문제를 해결하는 방안으로 마이크로서비스 아키텍처가 등장

               했습니다.




               1.1.2 마이크로서비스 아키텍처


               마이크로서비스 아키텍처(MSA, Microservices Architecture)는 시스템 전체가 하나의 목적을 지향하
               는 바는 모놀리식 아키텍처와 동일합니다. 하지만 개별 기능을 하는 작은 서비스를 각각 개발해

               연결하는 데서 그 차이를 보입니다. 보안, 인증 등과 관련된 기능이 독립된 서비스를 구성하고 있
               으며 다른 서비스들도 독립적으로 동작할 수 있는 완결된 구조입니다.

               이런 구조는 개발된 서비스를 재사용하기 쉽고, 향후 서비스가 변경됐을 때 다른 서비스에 영
               향을 미칠 가능성이 줄어들며 사용량의 변화에 따라 특정 서비스만 확장할 수 있습니다. 따라
               서 사용자의 요구 사항에 따라 가용성을 즉각적으로 확보해야 하는 IaaS 환경에 적합합니다.
               하지만 마이크로서비스 아키텍처는 모놀리식 아키텍처보다 복잡도가 높으며 각 서비스가 서로

               유기적으로 통신하는 구조로 설계되기 때문에 네트워크를 통한 호출 횟수가 증가해 성능에 영
               향을 줄 수 있습니다.

               마이크로서비스 아키텍처는 다음과 같이 구성합니다.


















         22





     인프라_06.indd   22                                                                        2021-05-31   오후 3:46:57
   7   8   9   10   11   12   13   14   15   16   17