2017-10-24 14 views
0

aws 환경에서 현재 pm2을 통해 배포되고 실행중인 여러 노드 서비스가 있습니다.여러 노드 서비스에서 구성을 중앙 집중화하는 방법은 무엇입니까?

난이도 (유지 관리면에서) 현재 코드베이스에서 각 노드 서비스에 별도의 구성 파일 (config \ app.json)이 있음을 알 수 있습니다. - 그러나 이러한 구성 파일의 대부분의 등록 정보는 공통적입니다 모든 서비스에 대해 각 속성은 각 개별 서비스에서 코드로 언급됩니다. 이러한 속성 중 하나라도 변경되면 여러 곳에서 변경 사항을 수정해야합니다.

여러 노드 서비스에서 구성을 중앙 집중화하고 싶습니다. 그렇게 할 수있는 방법이 있습니까? 기대는 구성을 유지하기위한 중앙 집중식 장소를 갖는 것입니다. 모든 참조가 도움이 될 것입니다.

+0

, 그것은이다 구성이 아니라 데이터베이스입니다. –

+0

아, 그래 .. 내가 설정을 변경 한 후에 서비스를 다시 시작하는 데 문제가 없지만, 내가 할 수있는 방법이있는 경우에 대비하여 언급했다. 주요 의도는 서비스 전반에 걸쳐 공통 설정 파일을 유지하는 방법을 아는 것입니다. – LGAP

+0

거기에는 많은 독립 실행 형 구성 관리 도구가 있으며 종종 오케스트레이션 도구에는 무언가가 내장되어 있습니다. 요점은 구성에서 런타임 변경을 처리하는 방식으로 응용 프로그램을 작성하면 모든 결과가 신뢰할 수없는 원본이됩니다. –

답변

1

아키텍처가 어떻게되어 있는지 잘 모르겠지만 키 - 값 쌍을 저장하는 Redis와 같은 작은 NoSQL 데이터베이스에서 구성을 가져 오는 작은 라이브러리 또는 마이크로 서비스를 만들면 신경 쓰지 않아도됩니다. 중앙 집중식 장소에서 구성 할 수 있습니다.

이제 구성은 yargs 같은 것을 사용하여 환경 변수로 구성을 제공하여 서비스를 빌드하는 동안 추가 할 수있는 redis입니다. 구성의 변화는 응용 프로그램의 다시 시작 필요하지 않은 경우

그런 다음 모든 서비스에 당신이 당신의 경우에 대비하여 구성 JSON을 채우기 위해 하나의 API 호출을해야합니다 설정/app.json