inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)

[실습] Point Microservice 만들기 - 2

MSA강의 보다 궁금해서 질문드립니다.

105

이경용

작성한 질문수 36

0

MSA강의보다 질문드립니다.
제가 쇼핑몰을 만든다고하면.
회원관리 서비스,상품서비스,포인트 서비스,결제서비스,게시판 서비스를 만들었을경우..
환경설정..이나 유틸 서비스나..
Mybatis연결한다고 가정할경우,,
각 서비스 마다 작성해야하는지..
별도의 서비스를 만들어 제어를 해야하는지 궁금합니다.

아키텍처 spring-cloud kafka msa devops

답변 2

0

JSCODE 박재성

안녕하세요 경용님 ! 질문 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 !

 

"환경설정, 유틸 서비스, Mybatis 연결한다고 가정할경우 각 서비스 마다 작성해야하는지 별도의 서비스를 만들어 제어를 해야하는지 궁금합니다."

-> MSA에서는 각 서비스마다 독립적으로 작성하는 것이 원칙이에요 !

MSA의 핵심은 각 서비스가 독립적으로 개발, 배포, 운영될 수 있어야 한다는 점이에요 ~

따라서 별도의 서비스로 제어하는 건 원칙에 어긋나요 !

각 서비스가 다른 서비스에 의존하게 되면 독립성이 깨지게 되거든요 :)

추가로 궁금하신 점 있으시면 언제든 편하게 질문 남겨주세요 😄

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 이경용님.

MSA(Microservices Architecture)에서 각 서비스를 어떻게 관리할지 고민이 많으시죠? 이와 관련하여 몇 가지 일반적인 권장 사항을 말씀드리겠습니다.

먼저, MSA에서는 각 서비스가 독립적으로 설계되고 운영되어야 합니다. 즉, 각 마이크로서비스는 자신만의 데이터베이스(schema 포함)를 가지며, 독립적인 배포가 가능하도록 설계하는 것이 이상적입니다.

공통 환경설정 및 유틸 서비스 관리

  1. 환경설정 관리: 공통으로 필요한 환경설정은 예를 들어 Spring Cloud Config을 사용하여 중앙집중식으로 관리할 수 있습니다. 이는 모든 서비스가 공통 설정을 쉽게 사용할 수 있도록 하며, 설정의 변경이 전체 서비스에 동기화되도록 해줍니다.

  2. 유틸리티 코드: 유틸 코드에 대해서는 공통 라이브러리를 별도로 작성하여 각 서비스에서 이 라이브러리를 가져다 쓰는 방식으로 관리하실 수 있습니다. 자체 유틸리티 라이브러리를 Maven 또는 Gradle 아티팩트로 만들어 배포하는 방법이 일반적입니다.

데이터베이스 연결(MyBatis) 관리

각 서비스가 독립적인 데이터 저장소를 가져야 하므로, MyBatis 연동과 같은 얘기는 각 서비스마다 설정이 필요합니다. 공통적인 데이터베이스 접근 로직이나 Mapper를 공유하고자 할 경우, 앞서 말한 유틸리티 라이브러리로 분리하여 재사용할 수 있습니다.

관련 학습 자료 및 유사 질문 답변:
- Spring Cloud Framework로 MSA 환경설정 관리 방법
- 마이크로서비스 유틸리티 관리 사례

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

쿠버네티스 어나더 클래스-Sprint 1, 2 강의 관련 질문이있습니다.

1

15

1

혹시 강의에서 사용하시는 손글씨 도구? 프로그램이 뭔가요??

0

14

0

보안그룹 아웃바운드 규칙

0

9

1

pg사가 있다고 가정하면

0

10

0

Kafka Cluster 구성도 질문

0

17

1

데이터베이스 13번 문제

0

28

2

jar 파일 빌드

-1

19

1

배포 파이프라인 구축 후 마주하게 되는 고민들 (💻 실습)

1

24

2

GCP SQL 진짜 어이가 없네

-1

24

1

레디스로 재고 관리

0

37

2

Lock 해제 문의 드립니다.

0

42

2

38강 클러스터에 컨트롤러 연결 질문

0

47

2

가상머신, Jenkins 등의 설치, 설정

0

23

1

쿠버네티스에서의 스토리지 사용

1

43

2

user-service jwt

0

55

2

MSA에서 서비스별 DB 작성에 관해

0

93

2

Microservice 에 DB 띄우기

0

75

2

MSA 프로젝트 요구사항 및 설계 에서의 FK

0

76

2

보상 트랜잭션을 위한 catch 문 안에서 에러가 발생한다면 어떻게 되는 건가요?

0

79

2

하나의 consumer에서 두가지 이상의 topic의 메세지를 받고자 할때 받는 메세지에 시간차와 상관없이 하나의 consumer에서 받을수 있나요?

0

93

2

카프카에서 발행한 이벤트를 처리중에 실패한 경우 보통 어떻게 처리하는지 궁금합니다

0

122

2

Kafka 비동기방식 적용하면서 질문 있습니다!

0

96

2

가용성에대한 질의..

0

75

2

궁금한게있어요..

0

90

2