런타임 구성기 기초

이 문서에서는 Runtime Configurator 기능의 개요를 제공하고 Runtime Configurator와 관련된 주요 개념을 설명합니다. RuntimeConfig 리소스를 만드는 방법은 RuntimeConfig 리소스 만들기 및 삭제를 참조하세요.

Runtime Configurator란 무엇인가요?

Runtime Configurator 기능을 사용하면 Google Cloud Platform에서 데이터를 키 값 쌍의 계층으로 정의하고 저장할 수 있습니다. 이러한 키 값 쌍을 사용하면 다음을 수행할 수 있습니다.

  • 서비스를 동적으로 구성합니다.
  • 서비스 상태를 통신합니다.
  • 데이터 변경사항 알림을 전송합니다.
  • 서비스의 여러 계층 간에 정보를 공유합니다.

예를 들어 시작 절차를 실행하는 노드 클러스터가 있는 시나리오를 가정해보세요. 시작 중에는 해당 상태를 Runtime Configurator에 보고하도록 노드를 구성하고, 다른 애플리케이션이 Runtime Configurator에 쿼리를 실행하고, 노드 상태에 따라 특정 작업을 실행하도록 할 수 있습니다.

Runtime Configurator는 또한 감시자 서비스 및 대기자 서비스를 제공합니다. 감시자 서비스는 특정 키 쌍을 감시하고 키 쌍 값이 변경될 때 응답을 반환합니다. 대기자 서비스는 특정 종료 조건을 대기하고 종료 조건이 충족되면 응답을 반환합니다.

Runtime Configurator는 gcloud CLI 또는 독립형 API를 통해 사용합니다.

개념

  • 구성 리소스

    구성 리소스에는 계층적인 변수 목록이 포함됩니다. 목적에 따라 서로 다른 구성을 사용할 수 있습니다. 예를 들어 환경(프로덕션, 개발, 테스트), 애플리케이션 또는 서비스의 여러 계층(백엔드, 프런트 엔드) 또는 항목(애플리케이션 사용자별 하나의 구성)을 기준으로 구성을 구분할 수 있습니다.

  • 변수

    변수는 RuntimeConfig 리소스에 속하는 키 값 쌍입니다. 변수 키에는 다음 형식이 포함됩니다.

    projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
    

    애플리케이션에 정보를 통신하고, 완료 상태를 알리고, 데이터 변경 알림을 전송하기 위해 변수 값을 설정하고, 가져오고, 감시할 수 있습니다. 변수가 계층적이므로, 변수 키는 여러 수준을 포함할 수 있습니다. 예를 들어 샘플 변수 키가 다음과 같을 수 있습니다.

    webserver-1/users/name
    webserver-1/users/favorite_color
    
  • 감시자

    watch() 메서드를 사용하면 변수를 감시하고 변수가 변경되거나, 감시자가 타임아웃 또는 삭제될 때 응답을 반환할 수 있습니다. watch() 기능을 사용하면 데이터 변경사항을 기준으로 애플리케이션을 동적으로 구성할 수 있습니다.

  • 대기자

    특정 경로 프리픽스를 감시하도록 대기자 리소스를 만들 경우, 대기자는 프리픽스 아래의 변수 개수가 특정 수량에 도달할 때 응답을 반환합니다. 이를 카디널리티 조건이라 합니다.

    예를 들어 /foo 경로에 조건을 설정하고 경로 수를 2로 설정한 경우 다음 설정은 이 조건을 충족합니다.

    • /foo/variable1 = "value1"
    • /foo/variable2 = "value2"
    • /bar/variable3 = "value3" # Not /foo path

    대기자에서 실패 및 성공 조건을 모두 설정할 수 있습니다.

    대기자를 만든 후 서비스는 개발자가 완료를 위해 폴링할 때 작업 객체를 반환합니다. 다음 중 하나가 발생하면 작업이 완료됩니다.

    • success 조건이 충족된 경우
    • failure 조건이 충족된 경우
    • 대기자가 최초 요청에 지정된 제한 시간에 도달했습니다.

    특정 개수의 서비스가 실행될 때까지 배포를 일시 중지해야 하는 시작 시나리오에서는 대기자를 사용하는 것이 이상적입니다.

다음 단계