inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Remote Git Repository

Spring Cloud Configuration 서버 장애시 작동원리

472

이수진

작성한 질문수 6

1

여러 마이크로 서비스의 환경 프로퍼티를 한곳에서 관리하고
동적으로 변경할수 있는 방법은 참 좋은것 같은데,
 
이 GIT으로 관리되는 저장소 혹은
Spring Cloud Configration 서버가 내려갔다거나
하면 어떻게 되는 건가요?
 
모든 마이크로서비스가 장애후 재시작이 안된경우는 이미 가져온 프로퍼티 정보가 메모리 같은곳에 있어서 문제 없을것 같은데
 
재시작이 필요한 경우는 GIT이나 Spring Cloud Configration 서버등에 중앙 관리 서버 장애시, 구동도 못하게 되는 상황이 연출되는지요?

spring-boot architecture spring-cloud JPA msa Kafka

답변 1

5

Dowon Lee

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

말씀하신 것처럼 GIT의 문제로 Spring Cloud Config가 사용되지 못할 가능성도 있습니다. 그래서 Git repository에 저장하는 것 이외, 설정 정보를 저장하기 위한 서비스를 따로 기동하기도 합니다. Etcd, Zookeeper, Consul 등의 외부 서비스를 사용하여 연동하기도 합니다. 이러한 서비스들은 다른 서버들과 같이 HA를 지원하며, 시스템의 다운타임에 대해 해결할 수 있는 기능 및 Standby 서버를 유지하고 있습니다. 

추가로, user-service와 같은 마이크로서비스에서 config server와 연동이 되지 않을 경우에 시스템을 기동하지 못하게 하거나, 무시하고 기동되게(이 경우에는 대체 값을 사용할 수 있는 로직이 포함) 처리할 수 있습니다. 

spring.cloud.config.fail-fast=true

위와 같은 설정을 통해 Exception과 함께 서비스가 중단되게 할 수 있으며, config에 문제가 생겼을 시, 재시도할 수 있도록 spring-retry(spring-aspects 도 필요) 라이브러리를 사용할 수 있습니다. (https://github.com/spring-projects/spring-retry)

감사합니다. 

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

0

114

2

강의 교안

0

103

2

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

0

112

2

api gateway 에서 인증 처리

0

76

1

섹션 19 질문드립니다

0

84

2

강의 자료 업데이트

0

104

2

부하분산 강의 섹션

0

65

1

강의자료는 어디에서?

0

98

2

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

0

131

2

전체 사용자 조회시 오류

0

65

1

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

0

118

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