APISIX가 정부 조달을 위한 클라우드 서비스 플랫폼을 강화하다
January 31, 2024
개요
정재클라우드 소개
중국 저장성 재정청과 알리바바 그룹이 설립한 정재클라우드는 정부 조달을 위한 최첨단 클라우드 서비스 플랫폼을 설계하는 데 특화되어 있습니다. 인터넷을 기반으로 구축된 이 플랫폼은 클라우드 컴퓨팅과 빅데이터 기술을 활용하여 정부 조달의 디지털화와 관리를 중심으로 합니다. 이 플랫폼은 온라인 정부 조달 거래, 감독 프로세스, 서비스 제공을 통합하여 고객이 더 편리하고 효율적이며 투명한 조달을 할 수 있도록 지원합니다.
도전 과제
-
정재클라우드의 Dubbo-to-HTTP 터널링은 프로토콜 데이터 변환에서 문제를 일으켜 내부 구성 요소의 성능에 영향을 미쳤습니다.
-
Dubbo의 이중 직렬화 복잡성, 즉 JavaBeanDescriptor와 Hessian2를 포함하는 방식은 정재클라우드에 잠재적인 성능 오버헤드를 초래했습니다.
-
Dubbo 게이트웨이의 비즈니스 확장은 정재클라우드의 HttpClient 계획에서 단일 스레드 동기 호출의 비효율성으로 인해 개발 및 배포에 더 많은 노력을 요구했습니다.
결과
-
APISIX 통합은 정재클라우드의 Dubbo-to-Dubbo 변환을 간소화하여 지연 시간을 줄이고 전반적인 시스템 성능을 향상시켰습니다.
-
APISIX의 도움으로 Dubbo의 간결한 설계와 지속적인 연결은 HTTP보다 훨씬 높은 Tps를 제공하여 정재클라우드의 연결 비용을 최소화했습니다.
-
통일된 프로토콜을 채택함으로써 정재클라우드는 오버헤드를 최소화하고 구성 요소 간 효율적이고 가벼운 데이터 전송을 가능하게 했습니다.
배경
저장성에 기반을 둔 정재클라우드 플랫폼은 자체 충족형 마이크로서비스 네트워크 시스템으로 운영되며, 전국 각지의 지사에 서비스를 제공합니다. 이 플랫폼은 정부 부처에 조달을 최적화할 수 있는 플랫폼을 제공하고, 은행과 같은 비정부 기관의 개인 배포도 허용합니다. 네트워크 간 데이터 전송을 용이하게 하기 위해 정재클라우드는 2022년 "고속도로" 프로젝트를 시작하여 네트워크 솔루션을 통합하여 통일된 고속 네트워크 경험을 제공했습니다.
Dubbo 게이트웨이와 HTTP 프로토콜을 활용했음에도 불구하고, 정재클라우드는 "고속도로" 프로젝트 구현 중에 APISIX로 해결할 수 있는 문제에 직면했습니다.
APISIX 사용 전의 문제점
APISIX 게이트웨이를 도입하기 전, 정재클라우드는 인프라에서 여러 문제에 직면하여 더 효율적이고 간소화된 솔루션을 찾게 되었습니다.
API 게이트웨이
-
I/O 모드: 네트워크의 복잡성으로 인해 정재클라우드는 Dubbo-to-HTTP 터널을 통해 데이터를 전송하기 위해 HTTP를 사용하기로 결정했으며, 이는 목적지에서 해제되었습니다. 이 터널링 접근 방식의 한 가지 단점은 Dubbo 게이트웨이에 도달할 때 프로토콜 데이터 변환이 필요하다는 점이었습니다. 특히 정재클라우드가 자체 개발한 일부 구성 요소는 최적의 성능을 달성하지 못할 수 있었습니다.
-
이중 직렬화: 이중 직렬화를 처리할 때는 Dubbo의 API인 JavaBeanDescriptor 객체가 포함됩니다. 비즈니스 객체는 직렬화 및 역직렬화 중에 매개변수로 직접 직렬화할 수 없으며, SDK에서 JavaBeans를 Dubbo 내부 구조로 변환해야 합니다. 목적지에 도달한 후 이 과정을 역으로 수행하여 비즈니스 객체의 매개변수에서 원활한 직렬화 및 역직렬화를 보장합니다. 또한 Dubbo가 Hessian2를 사용하여 직렬화를 수행하기 때문에 추가적인 복잡성이 있습니다. Hessian2를 사용한 이중 직렬화는 상당한 성능 오버헤드를 초래할 수 있습니다.
-
기타 비즈니스 확장: Dubbo 게이트웨이는 중앙 게이트웨이뿐만 아니라 로컬 클러스터 게이트웨이에서도 일부 비즈니스 확장을 요구합니다. 또한 정재클라우드는 속도 제한과 같은 즉시 배포 가능한 기능이 필요합니다.
프로토콜 전송
-
다양한 HTTP 클라이언트는 일부 중복된 헤더 정보를 포함할 수 있습니다.
-
HTTP는 많은 요청을 연속적으로 보낼 수 있지만, 하나의 요청이 반환될 때까지 기다려야 하므로 동시성 효율이 낮습니다.
-
정재클라우드가 사용한 HttpClient 계획은 단일 스레드 동기 호출 방식을 채택했으며, 호출이 완료될 때까지 기다린 후 다음 작업을 진행해야 합니다. 고동시성 시나리오에서 이 접근 방식은 매우 비효율적입니다. 정재클라우드의 비즈니스 규모가 증가함에 따라 이전에 사용한 솔루션은 점차 부적합해져 업데이트가 필요했습니다.
APISIX를 선택한 이유
정재클라우드는 자체 개발한 Dubbo 게이트웨이를 APISIX로 대체하고 기존의 HTTP 프로토콜을 대체할 터널링 프로토콜로 Dubbo 프로토콜을 채택하기로 결정했습니다.
자체 게이트웨이와 관련된 잠재적인 문제를 고려하여, 이 분야에 과도한 리소스를 할당하지 않고 사전 구축된 전문 솔루션을 즉시 통합하여 개발 리소스를 절약하고 효율성을 높이기로 결정했습니다. APISIX를 선택한 이유는 다음과 같습니다:
-
활발한 커뮤니티, 우수한 코드: APISIX는 활발한 오픈소스 커뮤니티를 자랑하며, 높은 수준의 코드 품질을 보장합니다.
-
견고한 아키텍처, 탁월한 성능: 고성능 OpenResty를 기반으로 개발된 APISIX는 아키텍처와 설계 측면에서 성능 우수성을 달성하여 정재클라우드의 게이트웨이에 대한 기본 요구 사항을 충족합니다.
-
탁월한 확장성: APISIX는 정재클라우드의 사용자 정의 요구 사항을 수용할 수 있는 탁월한 확장성을 보여줍니다. 기본적으로 정재클라우드는 NGINX와 같은 고성능을 유지하면서 기능 확장의 유연성을 유지하려고 합니다.
APISIX 사용 후의 성과
프로토콜 전송 오버헤드 감소
다양한 프로토콜을 사용하는 구성 요소 간 통신 환경에서 데이터 형식 변환으로 인한 오버헤드는 상당할 수 있습니다. 그러나 APISIX는 정재클라우드의 전체 통신 파이프라인에서 일관성을 보장하는 단일 통합 프로토콜을 제공했습니다. 이 전략은 정재클라우드의 데이터 교환 프로세스를 단순화할 뿐만 아니라 다양한 프로토콜 간의 지속적인 변환 필요성을 없앴습니다.
민첩하고 반응적인 통신 프레임워크
APISIX와의 통합을 통해 정재클라우드는 직접 Dubbo-to-Dubbo 변환을 구축했습니다. 이 통합은 지연 시간을 줄이고 회사의 아키텍처 전반의 성능을 향상시키는 중요한 최적화입니다. 직접 Dubbo-to-Dubbo 변환은 직렬화 과정에서 일반적으로 포함되는 중간 단계를 최소화하여 정재클라우드에 더 민첩하고 반응적인 통신 프레임워크를 제공합니다.
또한 이중 직렬화 라운드의 필요성을 없앰으로써 정재클라우드는 데이터 전송 파이프라인을 단순화하고 잠재적인 실패 지점을 줄이며 시스템의 신뢰성을 향상시켰습니다.
지연 시간 감소 및 리소스 활용 극대화
전통적인 설정에서는 각 요청에 대해 별도의 연결이 필요하여 잠재적인 오버헤드와 지연 시간 증가가 발생할 수 있습니다. 그러나 APISIX의 장기 연결 다중화를 통해 정재클라우드는 이러한 한계를 극복했습니다. 단일 지속적인 연결을 통해 여러 요청을 동시에 전송함으로써 리소스 활용을 극대화하고 각 요청에 대한 연결 설정 및 해제와 관련된 시간 오버헤드를 줄였습니다.
이 기능은 정재클라우드 시스템 내 구성 요소 간에 많은 작은 요청이 교환되는 시나리오에서 특히 유용합니다. 장기 연결 다중화는 통신 프로세스를 최적화하여 회사가 여러 요청을 동시에 효율적으로 관리하고 처리할 수 있도록 합니다. 결과적으로 더 민첩하고 반응적인 시스템이 되어 증가된 작업량을 개선된 효율성으로 처리할 수 있습니다.
또한 장기 연결 사용은 연결 설정 및 해제 오버헤드의 영향을 최소화하여 정재클라우드 시스템의 전반적인 안정성을 향상시킵니다.
레이어 4 프로토콜 확장 프레임워크 구축
APISIX는 정재클라우드가 xRPC 레이어 4 프로토콜 확장 프레임워크를 구현하는 데 도움을 주어 회사의 개발자가 애플리케이션별 프로토콜을 맞춤 설정할 수 있도록 했습니다. xRPC 프레임워크를 통해 APISIX는 다양한 주요 애플리케이션 프로토콜에 대한 프록시 구현을 지원합니다. 사용자는 이 프레임워크를 기반으로 자신의 개인 TCP 기반 애플리케이션 프로토콜을 도입할 수 있으며, 이는 HTTP 프로토콜 프록시와 유사한 정밀도와 향상된 레이어 7 제어를 제공합니다. APISIX의 xRPC 확장을 활용함으로써 정재클라우드는 직접 Dubbo 프로토콜 전달 기능을 효과적으로 도입하여 포괄적인 Dubbo 프로토콜 전송을 보장했습니다.
요약
네트워크 간 데이터 문제로 인한 복잡성에 대응하여 정재클라우드는 혁신적인 "고속도로" 프로젝트를 시작하는 적극적인 조치를 취했습니다. 이 전략적 노력은 APISIX의 효과적인 활용으로 특징지어지며, 게이트웨이 성능의 상당한 향상을 가져왔습니다. 성능 개선을 넘어 APISIX 통합은 프로토콜 변환과 관련된 비용을 실질적으로 줄였습니다. 또한 이 이니셔티브는 네트워크 인프라 내 데이터 처리 및 통신을 최적화하여 미들웨어 수준에서 간소화되고 통합된 접근 방식을 성공적으로 달성했습니다.