인프런 커뮤니티 질문&답변

김보근 (보하우스)님의 프로필 이미지
김보근 (보하우스)

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Docker 컨테이너

다수의 개발자가 같이 협업할 때에 궁금한 점이 있습니다.

작성

·

407

1

안녕하세요!

먼저 강의 너무너무 잘 보고 있습니다!

공부를 하다가 갑자기 궁금한게 생겼는데,

여러 개발자와 협업해야하는 환경이 될 때

같은 서비스를 개발 할 시 개발 환경이 어찌 되는지 알고 싶습니다.

Q1. 같은 서비스 개발 할 때에 디스커버리 서버와 APIGateway를 각자 개발자가 켜놓고 연관 된 서비스들도 다 실행 한 뒤에 개발을 하는지..

Q2. 아니라면 APIGateway를 공용으로 사용시 따로 환경세팅이 있을까요?

APIGateway를 공유하고 같은 서비스를 켜놓고 개발을 진행시 프론트에서 서비스 API등 호출 할 때에 제가 아닌 다른분의 서비스에 들어가면 어쩌지? 하는의문에서 시작되었습니다.

너무너무 궁금합니다..

강의는 너무 잘 보고 있고 다음강의도 기대하겠습니다!

감사합니다.

답변 2

1

저도 팀의 MSA 개발환경 구축 중에 이 부분이 문제가 있어서, ChatGPT에게 물어보았습니다. 그랬더니 각자의 로컬에서 개발을 하되 discovery service나 apigateway service 등을 전부 켜서 하기는 힘드니 Docker Compose를 통해서 서비스들을 컨테이너로 묶어서 한번에 켜서 작업하는 것을 추천하더라고요. 참고하시면 좋을 것 같습니다.

늦게 봤는데 정말 감사합니다.

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

문의 하신 질문에 정확한 답변까지는 아니어도, 몇가지 의견을 드립니다.

개발을 진행할 때, 각각의 개발자들이 구현을 마치고, 개발자 테스트를 완료한 다음, 통합 테스트를 위해 개발용 서버에 완성된 서비스나 모듈을 준비하고 통합테스트를 진행하기도 합니다. Discovery service와 Gateway service와 같은 공통 서비스의 경우에는 담당자가 개발 및 구현을 완성한 다음 공유한 내용을 사용하거나, 직접 더미 서버(서비스)를 구축하여 사용할 수 있습니다. 즉, 개별적인 설정과 공통적인 설정은 모두 가능하며, 조직 및 팀에서 정하는 규칙에 따라 진행하게 되며, 공통 설정을 사용한다고 하더라도, 공용 서버가 완료 되기 전에, 또는 수정 중이라도 각 서비스의 모듈 개발자들은 개인적인 환경으로 작업을 진행할 수 있습니다. 이럴경우, Spring Boot 프로젝트에서는 application 설정 파일을 Profile 별로 여러개 생성해 놓고 실행할 수 있습니다.

마지막 질문에서, 개발 환경에서는 다른 개발자의 서비스를 사용하면서, 데이터를 생성하거나 변경할 경우도 있습니다. 이럴 경우도, 해당 개발자가 공유환경에 다른 개발자가 사용할 수 있는 코드나 환경을 공유하고, 본인 직접 로컬 환경과 같은 개인환경에서 작업할 수 있습니다.

답변이 되었는지 모르겠습니다. 궁금하신 사항이 있으시면 다시 글 남겨 주세요.

감사합니다.

먼저 답변해주셔서 너무 감사합니다.

답답하게 해드려서 죄송합니다.. 제가 아직 주니어 개발자라서 이해를 못한 것 같습니다ㅠㅠ.. 공통적인 설정으로 개발을 할 시에는 따로 어떤 설정이 필요한지 알고싶습니다.

최대한 다른 개발자들에게는 유레카 서버와 게이트웨이 서버는 공통으로 사용하고 건들이지 않도록 편한 개발환경을 만들어주고 싶은데 방법이 있을까요?

그런 방법이 어렵다면, 개별 환경에서는 유레카서버 게이트웨이서버 과 연관 된 다른서비스들도 모두 실행하고 개발을 하게끔 해야할까요.

김보근 (보하우스)님의 프로필 이미지
김보근 (보하우스)

작성한 질문수

질문하기