API7 Enterprise, 트래픽 라벨링을 통해 API 트래픽 관리 간소화

Sijing Zhang

June 14, 2023

Products

API7 Enterprise가 곧 출시할 획기적인 새로운 플러그인인 "traffic-label"을 발표하게 되어 기쁩니다. 이 기능은 API 트래픽 관리에 전례 없는 제어와 유연성을 제공하여 기업이 성능을 최적화하고, 정확한 트래픽 분류를 통해 사용자 경험을 개인화하며, 정확한 트래픽 분석을 통해 가치 있는 통찰력을 얻을 수 있게 합니다.

이번에 선보일 이 혁신적인 기능을 통해 전례 없는 트래픽 관리 역량을 경험해 보세요.

트래픽 라벨링

트래픽 라벨링은 API 트래픽 관리에서 널리 사용되는 기술로, 트래픽을 정확하게 분류하고 태그를 지정하는 것을 포함합니다. 이를 통해 트래픽 유형에 따라 후속 처리 및 분석에서 다양한 전략과 결정을 내릴 수 있습니다.

트래픽 라벨링의 작동 원리는 다음과 같은 단계로 이루어집니다:

  • 트래픽 캡처: API 게이트웨이 또는 프록시가 들어오는 API 요청 및 응답 트래픽을 캡처합니다.
  • 속성 추출: 캡처된 트래픽에서 요청 경로, 메서드, 헤더 등과 같은 주요 속성을 추출합니다.
  • 규칙 매칭: 추출된 속성을 미리 정의된 트래픽 분류 규칙과 매칭하여 트래픽 카테고리를 결정합니다.
  • 트래픽 라벨링: 매칭 결과를 기반으로 요청 헤더에 지정된 필드를 추가하여 트래픽에 라벨을 지정합니다.
  • 후속 처리: 트래픽 카테고리에 따라 라우팅, 속도 제한, 인증 등과 같은 다양한 처리 전략을 적용할 수 있습니다.

트래픽 라벨링의 적용 시나리오

  1. A/B 테스트: 트래픽에 라벨을 지정하여 사용자를 다른 그룹으로 나누고, 각 그룹이 다른 버전이나 기능에 접근하도록 할 수 있습니다. 이를 통해 다양한 버전의 효과를 평가하고 비교하여 더 나은 결정을 내릴 수 있습니다.

  2. 기능 출시: 새로운 기능을 출시할 때, 트래� 라벨링을 사용하여 일부 사용자를 새로운 기능으로 리디렉션하여 안정성과 사용자 경험을 평가할 수 있습니다. 이를 통해 위험을 완화하고 새로운 기능이 제대로 작동하는지 확인할 수 있습니다.

  3. 성능 최적화: 트래픽에 라벨을 지정하여 일부 트래픽을 최적화된 서비스나 인프라로 전달하여 성능 개선의 효과를 검증할 수 있습니다. 이를 통해 시스템의 응답성과 안정성을 향상시킬 수 있습니다.

  4. 문제 해결: 시스템에 장애나 이상이 발생했을 때, 트래픽 라벨링을 통해 특정 사용자 트래픽을 대상 시스템으로 라우팅하여 장애 감지 및 문제 해결을 할 수 있습니다. 이를 통해 보다 정밀한 분석과 문제 해결이 가능합니다.

  5. 개인화 맞춤: 트래픽 라벨링을 적용하여 사용자 트래픽을 다른 그룹으로 나누고, 각 그룹에 맞춤화된 서비스나 콘텐츠를 제공할 수 있습니다. 이를 통해 사용자 경험과 만족도를 높일 수 있습니다.

트래픽 라벨링의 적용 예시

아래 그림은 트래픽 라벨링의 예시를 보여줍니다.

  1. 요청의 UID 필드를 기반으로 다른 단말기에서 오는 트래픽을 구분합니다. 예를 들어, 기기(App/웹페이지/미니 프로그램)나 사용자가 있는 지역에 따라 구분할 수 있습니다.

  2. UID = 1인 요청 중 20%를 테스트 트래픽으로 취하고, 헤더에 "env=v1"을 추가합니다. 이 부분의 트래픽은 v1 환경으로 들어가며, 사용자 모듈, 주문 모듈, 제품 모듈은 여전히 기본 환경의 서비스를 사용합니다.

  3. UID = 2인 단말기 요청의 헤더에 "env=v2"를 추가하고, 이 트래픽 전체를 v2 환경으로 라우팅합니다. v2 환경의 사용자 및 제품 모듈을 사용할 수 있으며, 주문 모듈은 여전히 기본 환경의 서비스를 사용합니다.

트래픽 라벨링 다이어그램

기존 플러그인과의 차이점

  1. "traffic-split" 플러그인과의 차이점:

    a. 헤더 기반 트래픽 분할 추적 지원: "traffic-split" 플러그인은 게이트웨이에서 즉시 트래픽 분할을 적용하며 요청 자체를 수정하지 않습니다. 트래픽 분할의 최종 결과만 얻을 수 있으며, 특정 요청이 트래픽 분할을 거쳤는지 또는 어떻게 분할되었는지와 같은 상세 분석을 할 수 없습니다.

    b. 게이트웨이 외부의 다른 플랫폼에서의 2차 분할 지원: 마이크로서비스 아키텍처에서 요청은 여러 모듈을 통과하며, "traffic-split" 플러그인은 게이트웨이에서 한 번의 트래픽 분할만 수행할 수 있습니다. 후속 서비스로 트래픽을 추가로 분할할 수 없습니다.

  2. "workflow" 플러그인과의 차이점:

    여러 매칭 규칙을 설정하고, 다른 규칙에 매칭되는 요청에 대해 별도의 수정 작업을 수행합니다. 차이점은 "traffic-label" 플러그인은 수정 작업에 가중치를 설정할 수 있으며, 트래픽은 구성된 가중치에 따라 분배됩니다.

API7 Enterprise를 사용한 트래� 라벨링 구현

  1. 명확한 목표와 전략 정의:

    트래픽 라벨링을 시작하기 전에 목표와 전략을 명확히 정의하는 것이 중요합니다. 달성하고자 하는 구체적인 결과를 결정하고, 해당 목표를 달성하기 위한 전략과 규칙을 수립합니다. 이는 성능 최적화, 개인화 맞춤, 데이터 분석 등과 관련될 수 있습니다.

  2. "traffic-label" 플러그인 구성:

    플러그인의 핵심 구성은 match 조건과 actions 배열로 이루어져 있습니다. match 조건은 "AND" 및 "OR"과 같은 논리 연산자를 지원합니다. actions는 실행할 하나 이상의 작업을 정의합니다.

    match가 성공하면, actions는 가중치에 따라 할당됩니다. 예를 들어, action1의 가중치가 3이고 action2의 가중치가 7이라면, 30%의 트래�이 action1을 실행하고 70%는 action2를 실행합니다.

  3. 지속적인 모니터링 및 미세 조정:

    트래픽 라벨링은 일회성 작업이 아니라 지속적인 프로세스입니다. 트래픽 라벨링의 효과와 결과를 모니터링하여 원하는 결과를 달성하고 목표를 충족하는지 확인하는 것이 중요합니다. 모니터링 결과를 기반으로 적시에 조정 및 최적화를 수행하여 트래픽 라벨링의 정확성과 효율성을 개선합니다.

  4. 개발 및 운영 팀 간의 협업:

    트래픽 라벨링의 성공은 개발 및 운영 팀 간의 긴밀한 협력과 협업이 필요합니다. 개발 팀은 트래픽 라벨링을 위한 기술 솔루션을 구현하고, 운영 팀은 전략 수립, 결과 모니터링 및 조정을 담당합니다. 이 두 팀 간의 원활한 의사소통을 보장하고 정보와 데이터를 공유하여 트래픽 라벨링의 성공적인 구현을 공동으로 추진합니다.

    이러한 모범 사례를 따르면 트래픽 라벨링을 효과적으로 적용하고 API 트래픽 관리의 효과와 가치를 높일 수 있습니다.

더 많은 정보를 원하시면 연락주세요!

트래픽 라벨링은 단순한 기능이 아니라, 현대 기업과 개발자의 요구를 충족시키기 위한 API7 Enterprise의 지속적인 노력과 혁신을 나타냅니다. 우리는 트래픽 라벨링을 최대한 활용하고 보다 정밀하고 유연한 API 트래픽 관리를 달성할 수 있는 최고의 실천 방법과 도구를 제공하기 위해 최선을 다하고 있습니다.

API7 Enterprise는 보안, 신뢰성, 확장성과 같은 풍부한 기능과 효율적인 API 관리 도구 및 분석 기능을 제공하여 기업 사용자가 효율적이고 안정적인 애플리케이션 통합을 달성할 수 있도록 돕습니다. 개인 맞춤 지원과 솔루션을 위해 https://api7.ai/contact로 언제든지 연락주세요.

Tags: