마이크로서비스 아키텍처 구축 가이드 - 성공적인 마이크로서비스 아키텍처 적용을 위한 체크포인트와 전략
김용욱 지음 / 한빛미디어 / 2023년 2월
평점 :
장바구니담기


모놀리식 서비스에서 마이크로서비스 아키텍처로 전환하는 추세입니다.


모놀리식의 경우 업데이트시 전체 애플리케이션을 다시 빌드하고 배포해야 합니다.


반면에 마이크로서비스의 경우 애플리케이션을 작은 단위로 분해하며 독립적으로 배포할 수 있습니다.


마이크로서비스 관련 책을 살펴보려 하는데요.

살펴볼 책은 ‘마이크로서비스 아키텍처 구축 가이드’입니다.


마이크로서비스는 모놀리식 서비스에 비해 기능을 빠르게 변경할 수 있습니다.


또한 서비스를 개별적으로 확장하거나 장애가 발생해도 영향받는 서비스는 최소화됩니다.


마이크로서비스는 어떤 아키텍처인지 같이 살펴보겠습니다.




◆ 모놀리식과 마이크로서비스

모놀리식은 하나의 컴퓨터에서 운영하는 서비스로 장애가 발생 시 전체 서비스에 영향을 끼칩니다.


마이크로서비스는 장애가 일어난 서비스만 문제가 발생하고 그 외 다른 서비스에는 영향을 끼치지 않습니다.


마이크로서비스 아키텍처는 서비스 간의 상호작용을 세밀하게 제어할 수 있는 장점이 있기 때문에 이러한 문제를 해결하기에 좋은 아키텍처입니다.


서비스를 그대로 유지할 수 있는 부분이 장점이긴 하지만 관리를 못 하면 문제가 발생합니다.


이 문제를 해결하기 위해 분산 트랜잭션을 지원하는 데이터베이스를 사용해야 합니다.


여러 서비스 운영시 트랜잭션에서 자동 롤백과 동시성이 보장 안 되는 상황이 발생할 수 있습니다.


데이터베이스는 운영시 데이터 불일치 문제가 있는지와 일관성이 깨지지 않는지 또한 트랜잭션 충돌이 발생할 수 있는지 살펴봐야 합니다.


이 문제를 해결하는 방법을 생각해보면 분산 트랜잭션 관리 시스템을 사용하거나 서비스 간의 상호작용을 잘 설계하여 문제를 최소화해야 합니다.




◆ 마이크로서비스 아키텍처 적합도

마이크로서비스 아키텍처가 모든 서비스에 적합한 것은 아닙니다.


비즈니스 로직, 팀의 구조, 운영을 고려하면서 결정해야 합니다.


서비스 간의 의존성은 줄어들지만, 운영 부담이 증가할 수 있습니다.


단순한 시스템의 경우 서비스를 여러 개로 만드는 것은 복잡도를 높이고 좋지 않습니다.


대규모 시스템은 의존성이 낮기 때문에 부하 분산과 가용성을 보장할 수 있습니다.


비즈니스 로직을 서비스 간의 경계를 정의하고, 판단해야 합니다.


시스템의 특성과 조건을 정확하게 파악하고 적용 여부를 결정하시길 바랍니다.




끝으로 마이크로서비스 아키텍처를 도입하고 구축하는 것을 목적으로 합니다.


마이크로서비스 아키텍처에 대한 이해와 도입 전에 고려해야 할 사항을 알려줍니다.


모놀리식에서 마이크로서비스로 전환을 고려하지만, 어디부터 시작해야 할지 고민인 분들도 계실 겁니다.


마이크로서비스 도입을 고려하는 분들에게 마이크로서비스 아키텍처 사례들이 도움 될 것입니다.


마이크로서비스 아키텍처 구축에 관심 있는 분들에게 이 책을 추천합니다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."




댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo