마이크로서비스 아키텍처 구축


김용욱 작사

마이크로서비스라는 용어는 사라진 지 오래되었습니다.

마이크로 서비스가 없는 세상에서 서비스/앱 개발은 크게 백엔드용 서버 인프라와 클라이언트용(모바일 또는 웹)으로 나뉘고 백엔드는 계층화된 아키텍처로 구현됩니다.

트래픽이 많이 증가할 때 로드밸런서를 도입하여 어플리케이션 서버를 확장하거나 DB에 대한 스케일업 전략이 일반적이었던 것 같습니다.

페이스북, 트위터, 넷플릭스 등 폭발적으로 성장하는 서비스의 등장으로 이전에는 감당할 수 없었던 수준의 트래픽 처리가 필요했을 것이다.

빠른 비즈니스 변화, 개발 및 배포 주기, 수십만 명의 개발자는 상호 의존성을 최소화하면서 서비스를 개발하고 확장할 수 있는 구조를 필요로 했습니다.

마이크로서비스란 무엇입니까?

마이크로서비스는 소프트웨어 개발에 대한 아키텍처 및 조직적 접근 방식으로, 소프트웨어는 잘 정의된 API를 통해 통신하는 작은 독립형 서비스로 구성됩니다.

이러한 서비스는 소규모 독립 팀에서 수행합니다.

마이크로서비스 아키텍처를 사용하면 애플리케이션을 더 쉽게 확장하고 개발을 가속화하여 혁신을 가능하게 하고 새로운 기능의 시장 출시 시간을 단축할 수 있습니다.


-AWS-

마이크로서비스는 애플리케이션을 서로 독립적인 최소 구성 요소로 나누는 소프트웨어 구축에 대한 아키텍처 및 접근 방식입니다.


– 빨간 모자 –

마이크로서비스는 명시적인 사양이 아닙니다.

따라서 고려 사항 및 적용 수준은 회사마다 다를 수 있습니다.

결과적으로 마이크로서비스를 도입하는 것이 타당한지, 어떤 구조가 우리에게 맞는지 양가적이다.

이 책은 마이크로서비스가 무엇인지부터 시작하여 온라인 가상 강의 서비스를 사용하여 마이크로서비스를 설계하는 데 도움이 되는 마이크로서비스의 적용 단계를 단계별로 설명합니다.


마이크로서비스로 점진적 마이그레이션

모놀리식 vs 마이크로서비스

“3장 데이터베이스 분리?” 에서는 실제 마이크로서비스를 구축할 때 우리가 즉각적으로 겪는 문제를 나열하고 해결책에 대해 이야기합니다.

전반부에 이런 내용이 잘 정리되어 있는 것이 인상적이었고 설명도 잘 되어 있어서 좋았습니다.



자주 변경되지 않는 데이터의 경우 로컬 캐시를 도입하여 성능을 향상시킬 수 있습니다.



마이크로서비스에서 API 일괄 요청에 대한 로컬 캐시를 도입하면 모놀리식 단일 SQL(#1)과 거의 동일한 처리 속도를 얻을 수 있습니다.

서비스 경계선을 선택하는 방법에 대한 설명이 다른 책들보다 더 많은 것도 상당히 인상적이다.

이전에 마이크로서비스를 구축하거나 운영해 본 적이 없다면 별 의미가 없겠지만, 실제로 경험했다면 개별 서비스를 정의하는 것이 쉬운 영역이 아님을 알 것입니다.

다른 책에서 자주 논의되는 도메인 중심 설계 기반 모델링에 초점을 맞추지 않습니다.



구조에 대한 다양한 설명은 실제 설계 및 시공에서 볼 수 있습니다.




\

책에 설명이 많지만 백엔드 개발이나 운영 경험이 없다면 이해하기 어려울 수 있습니다.

그러나 마이크로서비스를 구축하거나 실행할 계획이라면 이 책은 개념을 정리하는 데 도움이 될 뿐만 아니라 안정적인 서비스 개발을 위한 훌륭한 가이드 역할을 합니다.

또한보십시오

“한빛미디어 감정사> 활동 책을 받고 쓴 서평입니다.