API7 Gateway가 고가용성 전략으로 예외를 극복하는 방법

Zhiyuan Ju

Zhiyuan Ju

April 8, 2024

Products

현대적인 엔터프라이즈 수준의 애플리케이션 아키텍처를 구축할 때 API 게이트웨이의 고가용성(High Availability)을 보장하는 것은 매우 중요합니다. 서비스와 애플리케이션의 핵심 통로로서, API 게이트웨이는 대량의 요청을 처리하고 복잡한 서비스를 연결하며 원활한 데이터 전송을 보장하는 데 필수적인 역할을 합니다.

이 글에서는 오픈소스 프로젝트 Apache APISIX를 기반으로 구축된 엔터프라이즈급 API 관리 플랫폼인 API7 Enterprise를 살펴보고, 그 데이터 플레인(API7 Gateway)이 내부 고가용성 전략을 통해 예외 상황에서도 서비스의 안정성과 연속성을 어떻게 보장하는지 탐구합니다.

엔터프라이즈급 고가용성 아키텍처

이전에 API7 엔터프라이즈급 고가용성 솔루션에 대해 논의한 바와 같이, API7 Enterprise는 내부 컴포넌트 배포와 전체 아키텍처 시스템의 관점에서 고가용성을 어떻게 달성하는지 종합적으로 이해했습니다. 무상태(stateless) 설계를 통해 API7 Enterprise는 빠른 장애 복구와 동적 리소스 스케줄링을 달성할 수 있으며, 다양한 네트워크 및 하드웨어 이상 상황에서도 서비스의 고가용성을 보장합니다. 이 설계는 리소스 활용을 최적화할 뿐만 아니라 시스템 복잡성을 줄여 기업에 안정적이고 신뢰할 수 있으며 관리하기 쉬운 API 관리 플랫폼을 제공합니다.

API7 Enterprise의 고가용성

API7 Enterprise의 고가용성 전략

오픈소스 프로젝트 Apache APISIX의 우수한 기능을 기반으로, API7 Enterprise는 엔터프라이즈급 애플리케이션에서의 고가용성을 더욱 강화했습니다. 특히 API 게이트웨이 중단이나 예외 상황으로 인한 재시작이 필요한 경우, API7 Enterprise의 데이터 플레인 컴포넌트인 API7 Gateway는 서비스 연속성과 데이터 일관성을 보장하기 위해 일련의 혁신적인 전략을 채택합니다. 이러한 전략은 세 단계로 나뉩니다:

  1. 시작 시 구성 복구;

  2. 전체 구성 동기화 및 로컬 저장;

  3. 동적 구성 변경 및 지속성.

이러한 전략은 DNS, 네트워크, 컨트롤 플레인 등과 같은 중대한 불확실성으로 인해 데이터 플레인이 컨트롤 플레인에 연결할 수 없는 극단적인 상황을 해결하기 위해 설계되었습니다.

시작 시 구성 복구

네트워크 이상이나 기타 예기치 못한 요인으로 인해 컨트롤 플레인과의 연결이 중단될 가능성을 고려하여, API7 Gateway는 시작 구성 복구 메커니즘을 설계했습니다: 게이트웨이 인스턴스가 시작될 때 구성 센터와의 연결이 실패하면 로컬 저장소에서 최신 구성을 자동으로 검색합니다. 이를 통해 인스턴스를 재시작하고 컨트롤 플레인에 접근할 수 없는 경우에도 게이트웨이가 이전 구성을 사용하여 정상적으로 시작할 수 있으므로 서비스 중단을 방지합니다.

더 극단적인 경우에는 인스턴스의 로컬 구성 파일을 변경할 수 있으며, 이는 API7 Gateway의 시작 구성으로 사용될 수 있습니다.

전체 구성 동기화 및 로컬 저장

API7 Gateway는 구성 동기화 메커니즘을 강화했습니다: 구성 센터에 성공적으로 연결되고 시작된 후, 구성 정보를 완전히 동기화하고 이 정보를 JSON 형식으로 로컬 파일 시스템에 저장합니다. 이 메커니즘은 이후 런타임 중에 구성 센터와의 연결이 중단되더라도 게이트웨이가 메모리나 로컬 구성을 기반으로 서비스를 계속 제공할 수 있도록 보장합니다.

동적 구성 변경 및 지속성

런타임 구성 변경에 대응하기 위해, API7 Gateway는 구성 업데이트를 실시간으로 모니터링하고 지속적으로 저장합니다. 컨트롤 플레인이 새로운 구성 업데이트를 푸시할 때마다, 게이트웨이는 이러한 변경 사항을 실시간으로 적용할 뿐만 아니라 로컬 저장 구성 파일도 자동으로 업데이트합니다. 이를 통해 게이트웨이가 갑작스러운 재시작에 직면했을 때 최신 구성 상태로 빠르게 복원할 수 있으므로 서비스 중단 시간을 최대한 줄일 수 있습니다.

극단적인 상황 처리 설계

API7 Gateway의 설계는 네트워크 격리, 컨트롤 플레인 장애, 로컬 리소스 제한 등 다양한 극단적인 상황을 충분히 고려했습니다. 로컬에 구성을 지속적으로 저장하고 시작 및 런타임 구성 복구 로직을 최적화함으로써, API7 Gateway는 불안정한 환경에서도 서비스 능력을 강화합니다. 이 설계는 API 게이트웨이의 견고성을 높일 뿐만 아니라 기업 사용자에게 더 높은 수준의 비즈니스 연속성 보장을 제공합니다.

결론

API7 Gateway의 고가용성 전략은 API7 Enterprise가 엔터프라이즈급 API 게이트웨이 솔루션으로서의 핵심 경쟁력 중 하나입니다. 혁신적인 구성 복구 메커니즘, 전체 구성 동기화 및 로컬 저장, 그리고 동적 구성 변경의 실시간 적용과 지속성을 통해, API7 Gateway는 컨트롤 플레인 사용 불가능 또는 인스턴스 재시작과 같은 예외 상황에서도 서비스의 안정성과 연속성을 보장합니다. 이러한 전략의 구현은 운영 및 유지보수 부담을 줄일 뿐만 아니라 기업 애플리케이션의 신뢰성과 사용자 경험을 크게 향상시킵니다.

디지털 전환의 물결 속에서 기업들의 고가용성에 대한 요구는 점점 증가하고 있습니다. API7 Enterprise는 그 고급 설계와 기술적 구현을 통해 서비스의 고가용성을 보장할 뿐만 아니라 기업들에게 더 넓은 비즈니스 가능성을 열어줍니다.

Tags: