2023년 6월 개정 1판
마이크로 서비스의 장점
마이크로 서비스의 단점
마이크로 서비스를 사용해야 하는가? 에 대한 답을 준다.
빌드,배포,테스트,관찰가능성,보안,조직까지 다룬다.
비즈니스 도메인에 따라 모델링 된 독립적으로 릴리스 가능한 서비스.
기능을 캡슐화하고 네트워크를 통해 다른 서비스들을 액세스 하게 해 준다.
마이크로서비스라는 작은 빌딩 블록을 사용해 더욱 복잡한 시스템을 구축할 수 있다.
독립적 배포성은 다른 마이크로 서비스를 배포하지 않고도 마이크로서비스를 변경하고, 배포하고, 사용자에게 릴리지 할 수 있다는 개념이다.
마이크로서비스가 공유 데이터베이스 사용을 피해야 한다.
정말 필요한 경우가 아니면 데이터베이스를 공유하지 말아라.
데이터 베이스 공유는 독립적 배포성을 발생하는 데 가장 나쁜 것 중 하나이다.
단순한 배포 토폴로지
개발자 워크로드가 단순해지며 , 모니터링, 문제 해결, 엔드투엔드 테스트도 간소화 가능하다.
다수의 협력하는 마이크로 서비스들로 구성된 시스템이라면 각 마이크로서비스에 서로 다른 기술을 사용할 수 있다.
벌크 해드이다.
시스템의 구성요소 중 하나가 조장 날 수 있지만, 그 고장이 연속적으로 발생하지 않는 한 문제를 격리하고 나머지 시스템은 계속 작동할 수 있다.
대규모 모놀리식 서비스에서는 모든 것을 함께 확장시켜야 한다.
더 작은 서비스를 사용하면 확장이 필요한 서비스만 확장할 수 있다.
시스템의 다른 부분을 더 작고 성능이 낮은 하드웨어에서 실행하게 된다.
더 작은 코드베이스로 일하는 더 작은 팀이 생산적인 경향이 있다.
분산 시스템과 서비스 지향 아키텍처가 보장하는 핵심 효용 중 하나는 재사용할 기회가 많다는 것이다.
더 많은 서비스가 생기면 개발자의 고된 경험이 시작된다.
새로운 기술들은 과도한 무게를 가질 수 있다.
마이크로 서비스는 각 마이크로 서비스를 다른 프로그래밍 얹지로 작성하거나, 다른 런타임을 실행하거나 , 다른 데이터베이스를 사용할 수 있는 선택지를 제공한다.
이것은 선택이다.
단기적으로 여러 요인으로 비용이 증가할 가능성이 높다.
더 많은 프로세스, 더 많은 컴퓨터, 네트워크.
또한 팀이나 조직의 변경이 발생하면 단기적으로 속도가 느려진다.
모놀리식 데이터베이스는 분석하길 원하는 이해 관계자는 보고서를 실행하ㅣ 위해 미리 만들어즌 스키마를 갖고 있다.
모니터링할 부분이 많아지고, 확인해야할 문제가 추가 된다.
마이크로 서비스에 맞는 이미지 보안등 신경써야 한다.
새로운 제품이나 스타트업 기업에는 적합하지 않은 선택이다.
작업 중인 도메인은 구축하려는 기본 사항을 반복하면서 토양 엄청난 변화를 겪고 있다.
도메인 모델이 변화하면 서비스 경계가 더 많이 변경되며, 많은 작업 비용이 든다.
더 많은 개발자가 서로 방해하지 않고 동일한 시스템에서 작업하기 위해서다.
아키텍처와 조직의 경계를 올바르게 설정하면 더 많은 사람들이 서로 독립적으로 작업하도록 전달 경합 문제를 줄일 수 있다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
본인이 읽고 솔직하게 작성합니다.
https://brunch.co.kr/magazine/it-book