API7 Enterprise 3.2.12의 새로운 기능: Stream Routes 지원

Zhihuang Lin

Zhihuang Lin

May 24, 2024

Products

API7 Enterprise 3.2.12 버전에서는 스트림 라우트(stream routes) 지원이 도입되어 TCP/UDP 프로토콜 트래픽 프록시 및 로드 밸런싱이 가능해졌습니다.

스트림 라우트를 구성함으로써 API7 Enterprise는 TCP 프로토콜 기반의 MySQL 및 MongoDB와 같은 서비스 요청을 프록시할 수 있습니다. 또한 TCP 또는 UDP 프로토콜로 구성할 수 있는 Redis와 같은 애플리케이션도 프록시할 수 있습니다. 이를 통해 TCP/UDP 네트워크 트래�을 효과적으로 관리하고 최적화할 수 있습니다.

API7 Enterprise에서 스트림 라우트 사용 방법

스트림 서비스 추가

서비스를 수동으로 추가할 때, 서비스 유형 선택 옵션이 추가되었으며, 두 가지 유형을 지원합니다: HTTP와 Stream. 이는 각각 Layer 7 프록시와 Layer 4 프록시를 나타냅니다. 서비스 유형을 Stream으로 선택하면 업스트림 스키마를 TCP 또는 UDP 중 하나로 선택할 수 있습니다. 서비스 유형을 선택한 후에는 변경할 수 없으므로 올바른 서비스 유형을 선택해야 합니다.

스트림 서비스 유형 추가

스트림 라우트 추가

스트림 유형의 서비스를 성공적으로 생성한 후, 서비스 상세 페이지로 이동합니다. 다음으로 스트림 라우트 추가 버튼을 클릭하여 라우트를 추가합니다.

서비스에 대한 스트림 라우트 추가

라우트 이름, 설명 및 관련 라우트 구성을 양식에 입력합니다. 여기서는 MySQL 서비스를 프록시하기 위한 라우트를 구성합니다.

스트림 라우트 추가 상세 정보

일반 HTTP 라우트 구성과 비교하여 스트림 라우트에는 세 가지 다른 구성 옵션이 있습니다.

  • 서버 주소: 이는 게이트웨이 서버가 스트림 라우트 연결을 수신하는 주소로, 스트림 라우트 트래픽이 게이트웨이로 들어가는 입구 역할을 합니다. 클라이언트가 연결을 시도할 때 이 주소로 요청을 보내며, 게이트웨이는 미리 정의된 라우팅 규칙에 따라 이러한 요청을 전달하거나 처리합니다.

  • 서버 포트: 게이트웨이 서버가 트래픽을 수신하는 포트를 지정하는 데 사용됩니다.

  • 원격 주소: 요청을 시작한 클라이언트 주소입니다. 원격 주소와 동일한 클라이언트 주소에서 보낸 요청만 전달할 수 있으므로 특정 클라이언트에 대한 트래픽 관리가 가능합니다.

라우트를 성공적으로 생성한 후, 목록에서 새로 추가된 MySQL 라우트를 확인할 수 있습니다.

추가된 MySQL 라우트

업스트림 노드 구성 및 서비스 게시

다음으로, 서비스를 게이트웨이 그룹에 게시하고 MySQL 서비스에 해당하는 업스트림 노드를 추가합니다.

MySQL 서비스에 대한 노드 추가

서비스가 게시된 후, 127.0.0.10 주소와 9101 포트의 게이트웨이 서버가 요청을 수신하면 이 라우트가 요청을 처리하고 업스트림 MySQL 서비스로 전달합니다.

기본 요청 전달 기능 외에도, 서비스 게시 후 일련의 구성을 통해 서비스의 성능과 보안을 강화할 수 있습니다. 예를 들어, 스트림 라우트에 대한 로드 밸런싱 전략을 구성하여 트래픽이 여러 업스트림 MySQL 서버에 균등하게 분산되도록 하여 시스템의 확장성과 내결함성을 향상시킬 수 있습니다.

또한, 헬스 체크 메커니즘을 설정하여 업스트림 서버의 상태를 주기적으로 모니터링하고, 건강한 서버만 요청을 수신 및 전달하도록 하여 서버 장애로 인한 서비스 중단을 방지할 수 있습니다.

지원되는 플러그인

현재 스트림 라우트에 대해 네 가지 플러그인이 지원됩니다:

  1. ip-restriction: IP 접근 제어 기능을 제공합니다.

  2. limit-conn: 이 플러그인은 클라이언트의 단일 서비스에 대한 동시 요청 수를 제한할 수 있습니다.

  3. prometheus: 스트림 라우트에 대한 시스템 모니터링 및 경고 기능을 제공합니다.

  4. syslog: 시스템 로그를 기록하고 전송합니다.

이 네 가지 플러그인은 스트림 라우트의 보안, 안정성, 모니터링 및 유지보수성을 강화합니다.

결론

API7 Enterprise 3.2.12의 스트림 라우트는 사용자에게 더 강력하고 유연한 TCP/UDP 프로토콜 트래픽 관리를 제공하여 애플리케이션의 신뢰성과 확장성을 향상시킵니다. 이는 기업 사용자에게 향상된 네트워크 트래픽 관리, 더 높은 시스템 신뢰성 및 운영 효율성, 우수한 비즈니스 적응성을 제공하여 중요한 기업 애플리케이션의 운영을 지원하는 데 가치가 있습니다.

Tags: