inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Spring Cloud Gateway - Filter 적용 ➁

spring gateway 설정에서의 application.yml vs pojo configuration

729

edu student02

작성한 질문수 3

1

안녕하세요 도원님 강의 정말 잘 보고 있습니다.
 
apigateway-service는 "api gateway를 담당하는 application 서버로써의 역할을 목적으로 한다." 로 해석되는데요.
운영 레벨의 서버를 만들 때 application.yml 을 통해 설정하는것과 본 강의 처럼 pojo로 configuration 하는것 중에..
 
어떤 것이 더 나은 선택일지.
장단점이 무엇인지 더 자세하게 궁금합니다.
 
감사합니다.

spring-cloud architecture JPA spring-boot msa Kafka

답변 1

7

Dowon Lee

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

Spring Framework에서 초기 설정을 XML 파일로만 했던 거에 비해 Spring 3.2.x 버전부터는 Annotation을 통해 DI나 Bean의 사용이 가능해졌습니다. 내부적인 복잡한 처리 과정이나, 속도 문제 등을 떠나서 이 부분을 결정하는 주요인은 작업의 스타일과 편의성으로 갈라진다고 생각합니다. 제 경험으로 예전에 근무했었던 금융회사의 리더도 XML을 고집하는 쪽이었으며, 그 편이 스프링 빈의 생성이나 관계를 쉽게 파악할 수 있다는게 이유였습니다. 덕분에(?) 스프링 버전을 2.5.x로 유지하면서 개발했었습니다. 

문의하신 질문은 application.yml 파일(설정 파일)과 Configuration 클래스(자바 설정 클래스)에 대한 내용인 것 같습니다. Configuration 클래스를 사용하면, 자바 컴파일러에 의해 문법적인 오류를 바로 찾을 수 있습니다. 컴퍼일러에 의해 빈 클래스가 제대로 매칭 된 것인지도 구분할 수 있습니다. 상대적으로 application.yml과 같은 설정 파일의 경우는 작성하기 쉽고, 불필요한 자바 코드 없이 사용할 수 있으며, 어느 정도까지의 매핑관계는 쉽게 파악할 수 있습니다.

그러나, Gateway의 역할이 커지고, 라우팅 해야하는 양이 늘어나고, 구분해야할 카테고리가 많다면 자바 클래스로 처리하는 게 유리할 수 있다고 생각됩니다. 물론 application.yml 파일로 여러개 분리하실 수도 있겠지만, 용도나 기준에 맞춰 클래스로 구분하는 게 더 효율적이라고 생각됩니다. 어디까지나 제 주관적인 생각이고, 미리 어떤것이 좋은지, 장단점이 결정하고 작업하시기 보다는, 몇가지 작업 진행하면서, 관맂의 편의성과 개발 시간의 단축 등을 고려하셔서 선택하시면 어떨가 합니다. 

감사합니다. 

kafka 업데이트 강의 듣고 시포요

0

114

2

강의 교안

0

105

2

마이크로서비스간 통신 시, 인증 처리

0

115

2

api gateway 에서 인증 처리

0

76

1

섹션 19 질문드립니다

0

84

2

강의 자료 업데이트

0

105

2

부하분산 강의 섹션

0

65

1

강의자료는 어디에서?

0

98

2

강의 자료는 어디서 다운 받을 수 있나요?

0

131

2

전체 사용자 조회시 오류

0

65

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

120

2

학습 방향

0

105

2

카프카 커넥터 사용 목적 문의

0

90

2

kafka 강의

0

117

2

서비스 디스커버리 종류

0

90

2

강의 자료에 대해서 궁금해요

0

125

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

94

2

Kafka Source Connect 버전 에러

0

95

2

소스커넥터는 사용안한 거 맞죠?

0

84

2

강의자료 업데이트 문의

0

99

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

63

1

강의 업데이트 계획이 궁금합니다.

0

120

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

168

2

어떤 것이 업데이트 된 건가요?

0

169

2