마이크로서비스 디자인 패턴 10가지

녜정·2024년 3월 14일
0

🔎 Architecture

목록 보기
2/2

💡 마이크로서비스 디자인 패턴 사용의 주요 이점

  • 독립적으로 배포 가능하고 분산된 애플리케이션 아키텍처 생성
  • 필요한 경우 대규모 확장성
  • 점진적으로 출시하여 가동 중지 시간을 줄일 수 있는 새로운 버전의 마이크로 서비스
  • 이전 애플리케이션 버전이 완전히 교체되기 전에 원치 않은 동작 감지
  • 다양한 코딩 언어 사용
  • 분리된 구성 요소의 근본 원인으로 인한 시스템 장애 예방
  • 실시간 로드 밸런싱

1. Database per service pattern (서비스 패턴별 데이터 베이스)

데이터베이스는 마이크로서비스 아키텍처의 가장 중요한 구성 요소 중 하나이지만, 개발자가 서비스를 구출할 때 서비스 패턴별 데이터베이스를 간과하는 경우가 있다. 데이터베이스 구성은 애플리케이션의 효율성과 복잡성에 영향을 미칩니다. 개발자가 애플리케이션의 조직 아키텍처를 결정할 때 사용할 수 있는 가장 일반적인 옵션은 다음과 같습니다.

Dedicated database for each service(각 서비스에 대한 전용 DB):

한 서비스 전용 DB는 다른 서비스에서 엑세스 할 수 없습니다. 이는 전체 end-to-end 비즈니스측면에서 확장하고 이해하기가 훨씬 쉬워지는 이유 중 하나입니다.

DB의 요구사항이나 액세스 요구사항이 서로 다른 시나리오를 생각해보세요. 한 서비스가 소유한 데이터는 대부분 관계형일 수 있지만, 두번째 서비스는 NoSQL 솔루션이 더 나은 서비스를 제공할 수 있고, 세번째 서비스에는 백터 DB가 필요할 수 있습니다. 이 시나이로에서는 각 DB에 전용 서비스를 사용하면 DB를 더 쉽게 관리하는 데 도움이 될 수 있습니다.

또한 이 구조는 하나의 서비스가 다른 서비스의 테이블에 연결될 수 없기 때문에 결합도를 줄여줍니다. 서비스는 게시된 인터페이스를 통해 통신해야합니다. 단점은 전용 DB에는 통신이 실패하는 이벤트에 대한 실패 보호 메커니즘이 필요하다는 것입니다.

⚠️ 작성중 ...



Originally published at https://www.capitalone.com.

DISCLOSURE STATEMENT: © 2023 Capital One. Opinions are those of the individual author. Unless noted otherwise in this post, Capital One is not affiliated with, nor endorsed by, any of the companies mentioned. All trademarks and other intellectual property used or displayed are property of their respective owners. Capital One is not responsible for the content or privacy policies of any linked third-party sites.

profile
안녕하세요, 4년차 백엔드 개발자입니다. 소통하는 것을 좋아하고, velog에는 주로 짧은 글을 작성합니다.

0개의 댓글