컴퓨팅 계층 요청 라우팅 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

컴퓨팅 계층 요청 라우팅

컴퓨팅 레이어 요청 라우팅을 사용하면 컴퓨팅 레이어에서 실행되는 코드가 요청을 로컬에서 처리할지 아니면 다른 지역에서 실행 중인 자체 복사본으로 전달할지를 결정합니다. 한 리전에 쓰기 모드를 사용하면 컴퓨팅 레이어가 활성 리전이 아님을 감지하여 로컬 읽기 작업을 허용하면서 모든 쓰기 작업을 다른 리전으로 전달할 수 있습니다. 이 컴퓨팅 계층 코드는 데이터 토폴로지 및 라우팅 규칙을 인식하고, 어떤 데이터에 대해 활성화되는 지역을 지정하는 최신 설정을 기반으로 데이터 토폴로지 및 라우팅 규칙을 안정적으로 적용해야 합니다. 해당 리전 내의 외부 소프트웨어 스택은 마이크로서비스가 읽기 및 쓰기 요청을 어떻게 라우팅하는지 몰라도 됩니다. 강력한 설계에서 수신 리전은 자신이 쓰기 작업의 현재 기본 리전인지 여부를 확인합니다. 기본 리전이 아니라면 글로벌 상태를 수정해야 한다는 오류 메시지가 생성됩니다. 또한 기본 리전이 변경 중일 경우 수신 리전은 쓰기 작업을 잠시 버퍼링할 수 있습니다. 어떤 경우든 리전의 컴퓨팅 스택은 해당 로컬 DynamoDB 엔드포인트에만 쓰지만 컴퓨팅 스택은 서로 통신할 수 있습니다.

컴퓨팅 계층 요청 라우팅

뱅가드 그룹은 re:Invent 2022에서 소개한 바와 같이 이 라우팅 프로세스에 글로벌 오케스트레이션 및 상태 도구 (GOaST) 라는 시스템과 글로벌 다중 지역 라이브러리 (GMRlib) 라는 라이브러리를 사용합니다. 이들은 단일 기본 모델을 사용합니다. follow-the-sun GOaST이전 섹션에서 설명한 ARC 라우팅 제어와 마찬가지로 글로벌 상태를 유지합니다. 글로벌 테이블을 사용하여 어느 지역이 기본 지역인지, 다음 기본 스위치가 언제 스케줄링되는지 추적합니다. 모든 읽기 및 쓰기 작업이 진행되며GMRlib, 이에 따라 GOaST 조정됩니다. GMRlib읽기 작업을 낮은 지연 시간으로 로컬에서 수행할 수 있습니다. 쓰기 작업의 경우 로컬 지역이 현재 기본 지역인지 GMRlib 확인합니다. 현재 기본 리전인 경우 쓰기 작업이 직접 완료됩니다. 그렇지 않은 경우 쓰기 작업을 기본 지역의 으로 GMRlib 전달합니다. GMRlib 이 수신 라이브러리는 자신도 스스로를 기본 리전으로 간주한다는 것을 확인하고, 그렇지 않은 경우 글로벌 상태의 전파 지연을 나타내는 오류를 발생시킵니다. 이 접근 방식은 원격 DynamoDB 엔드포인트에 직접 쓰지 않으므로 검증에 도움이 됩니다.