APISIX赋能政府采购云服务平台

Jing Yan

Jing Yan

January 31, 2024

Case Study

概要

Zhengcaiyunについて

中国浙江省財政局とAlibaba Groupによって設立されたZhengcaiyunは、政府調達向けに設計された最先端のクラウドサービスプラットフォームを専門としています。インターネットを基盤として構築されたこのプラットフォームは、クラウドコンピューティングとビッグデータ技術を活用し、政府調達のデジタル化と管理に焦点を当てています。このプラットフォームは、オンライン政府調達取引、監督プロセス、およびサービス提供を統合し、顧客がより便利で効率的かつ透明性の高い調達を実現できるように支援しています。

課題

  • ZhengcaiyunのDubbo-to-HTTPトンネリングは、プロトコルデータ変換における課題を引き起こし、社内コンポーネントのパフォーマンスに影響を与えました。

  • Dubboにおける二重シリアライゼーションの複雑さ(JavaBeanDescriptorとHessian2の使用)により、Zhengcaiyunのパフォーマンスオーバーヘッドが生じる可能性がありました。

  • Dubboゲートウェイのビジネス拡張は、ZhengcaiyunのHttpClientプランにおけるシングルスレッドの同期呼び出しの非効率性により、開発とデプロイに多くの労力を要しました。

成果

  • APISIXの統合により、ZhengcaiyunのDubbo-to-Dubbo変換が効率化され、レイテンシが減少し、システム全体のパフォーマンスが向上しました。

  • APISIXの助けを借りて、Dubboの簡潔な設計と長期間の接続により、HTTPよりも大幅に高いTpsを実現し、Zhengcaiyunの接続コストを最小化しました。

  • 統一されたプロトコルを採用することで、Zhengcaiyunはオーバーヘッドを最小限に抑え、コンポーネント間の効率的で軽量なデータ伝送を促進しました。

背景

Zhengcaiyun_Platform

浙江省に拠点を置くZhengcaiyunプラットフォームは、自立したマイクロサービスネットワークシステムとして運営され、各省の支店にサービスを提供しています。政府部門に調達を最適化するプラットフォームを提供し、銀行などの非政府機関からのプライベートデプロイメントも可能にしています。クロスネットワークデータ伝送を容易にするため、Zhengcaiyunは2022年に「ハイウェイ」プロジェクトを開始し、統一された高速クロスネットワーク体験を実現するためのネットワークソリューションを統合しました。

DubboゲートウェイとHTTPプロトコルを活用していたにもかかわらず、Zhengcaiyunは「ハイウェイ」プロジェクトの実施中に課題に直面し、APISIXによって解決されました。

APISIX採用前の課題

APISIXゲートウェイを採用する前、Zhengcaiyunはインフラストラクチャにおいていくつかの課題に直面し、より効率的で合理化されたソリューションを求めることになりました。

APIゲートウェイ

  • I/Oモード: ネットワークの複雑さから、ZhengcaiyunはDubbo-to-HTTPトンネルを介してデータを伝送するためにHTTPを使用することを選択しましたが、このトンネリングアプローチの欠点は、特にDubboゲートウェイに到達した際にプロトコルデータ変換が必要となることでした。Zhengcaiyunが独自に開発した一部のコンポーネントは最適なパフォーマンスを達成できない可能性がありました。

  • 二重シリアライゼーション: 二重シリアライゼーションを扱う際、DubboのAPIであるJavaBeanDescriptorオブジェクトが関与します。ビジネスオブジェクトはシリアライゼーションおよびデシリアライゼーション中にパラメータとして直接シリアライズできず、SDKでJavaBeansをDubbo内部の構造に変換する必要があります。目的地に到達した後、このプロセスを逆にしてビジネスオブジェクトのシリアライゼーションとデシリアライゼーションをスムーズにします。さらに、DubboがHessian2を使用してシリアライゼーションを行うため、二重シリアライゼーションにHessian2を使用すると、大きなパフォーマンスオーバーヘッドが生じる可能性があります。

  • その他のビジネス拡張: Dubboゲートウェイは、中央ゲートウェイだけでなくローカルクラスタゲートウェイにも特定のビジネス拡張を要求します。さらに、Zhengcaiyunはレートリミットなどのすぐにデプロイ可能な機能を必要としています。

プロトコル伝送

  • さまざまなHTTPクライアントは、冗長なヘッダー情報を含む場合があります。

  • HTTPは多くのリクエストを連続して送信できますが、次のリクエストを進める前に1つのリクエストが返されるのを待つ必要があり、並行処理効率が低くなります。

  • Zhengcaiyunが採用したHttpClientプランは、シングルスレッドの同期呼び出しアプローチを採用しており、呼び出しが完了するのを待ってから次の操作を進める必要があります。高並行シナリオでは、このアプローチは非常に非効率的です。Zhengcaiyunのビジネス量の増加に伴い、以前使用していたソリューションは徐々に不十分であることが判明し、更新が必要となりました。

APISIXを選んだ理由

Zhengcaiyunは、社内で開発したDubboゲートウェイをAPISIXに置き換え、従来のHTTPプロトコルに代わってDubboプロトコルをトンネリングプロトコルとして採用することを決定しました。

カスタムゲートウェイに関連する潜在的な課題を考慮し、この領域に過剰なリソースを割り当てることを避け、開発リソースを節約し効率を向上させるために、事前に構築された専門的なソリューションをすぐに統合することを計画しました。APISIXを選択した理由は以下の通りです:

  • 活発なコミュニティ、優れたコード: APISIXは活発なオープンソースコミュニティを誇り、高いコード品質を保証しています。

  • 堅牢なアーキテクチャ、卓越したパフォーマンス: 高性能なOpenResty上で開発されたAPISIXは、アーキテクチャと設計の両面からパフォーマンスの卓越性を実現し、Zhengcaiyunのゲートウェイに対する基本的な要件を満たしています。

  • 優れた拡張性: APISIXは優れた拡張性を示し、Zhengcaiyunのカスタム要件に対応できます。本質的に、ZhengcaiyunはNGINXのような高性能を享受しながら、機能拡張の柔軟性を維持することを目指しています。

Why APISIX_Dubbo

APISIX採用後の成果

プロトコル伝送のオーバーヘッド削減

異なるコンポーネントがさまざまなプロトコルを使用して通信する環境では、データ形式の変換によるオーバーヘッドが大きくなる可能性があります。しかし、APISIXは統一されたプロトコルを提供し、Zhengcaiyunの通信パイプライン全体で一貫性を確保しました。この戦略により、Zhengcaiyunのデータ交換プロセスが簡素化され、異なるプロトコル間の変換が不要になりました。

機敏で応答性の高い通信フレームワーク

APISIXとの統合により、Zhengcaiyunは直接的なDubbo-to-Dubbo変換を確立しました。この統合は重要な最適化として機能し、レイテンシを減少させ、会社のアーキテクチャ全体のパフォーマンスを向上させました。直接的なDubbo-to-Dubbo変換により、シリアライゼーションプロセスに通常関与する中間ステップが最小化され、Zhengcaiyunにとってより機敏で応答性の高い通信フレームワークが提供されました。

さらに、二重シリアライゼーションの必要性を排除することで、Zhengcaiyunはデータ伝送パイプラインを簡素化し、潜在的な障害点を減少させ、システムの信頼性を向上させました。

レイテンシの減少とリソース利用の最大化

従来の設定では、各リクエストに個別の接続が必要であり、オーバーヘッドとレイテンシの増加が生じる可能性があります。しかし、APISIXの長期間接続多重化により、Zhengcaiyunはこの制限から脱却しました。単一の永続的な接続を介して複数のリクエストを同時に伝送することで、リソース利用を最大化し、各リクエストの接続確立と切断に関連する時間オーバーヘッドを減少させました。

この機能は、Zhengcaiyunのシステム内で多数の小さなリクエストが交換されるシナリオで特に有益です。長期間接続多重化により、通信プロセスが最適化され、会社は複数のリクエストを効率的に管理および処理できます。その結果、より機敏で応答性の高いシステムが実現し、増加したワークロードを効率的に処理できます。

さらに、長期間接続の使用により、Zhengcaiyunのシステム全体の安定性が向上し、接続確立と切断のオーバーヘッドの影響が最小化されました。

レイヤー4プロトコル拡張フレームワークの確立

APISIXは、ZhengcaiyunにxRPCレイヤー4プロトコル拡張フレームワークを実装するのを支援し、会社の開発者がアプリケーション固有のプロトコルをカスタマイズできるようにしました。xRPCフレームワークにより、APISIXはさまざまな主要なアプリケーションプロトコルのプロキシ実装をサポートします。ユーザーはこのフレームワークに基づいて、HTTPプロトコルプロキシと同様の精度と高度なレイヤー7制御を提供するプライベートなTCPベースのアプリケーションプロトコルを導入することもできます。APISIXのxRPC拡張を活用することで、Zhengcaiyunは直接的なDubboプロトコル転送機能を効果的に導入し、包括的なDubboプロトコル伝送を確保しました。

まとめ

クロスネットワークデータの課題による複雑さに対応するため、Zhengcaiyunは革新的な「ハイウェイ」プロジェクトを立ち上げることで積極的な対策を取りました。この戦略的な取り組みは、APISIXの効果的な活用によって特徴づけられ、ゲートウェイのパフォーマンスが大幅に向上しました。パフォーマンスの向上に加えて、APISIXの統合により、プロトコル変換に関連するコストが削減されました。さらに、この取り組みにより、ミドルウェアレベルでの統合と最適化が実現し、ネットワークインフラストラクチャ内のデータ処理と通信が最適化されました。

Tags: