“截至2021年5月,腾讯的OTeam团队使用Apache APISIX已经在腾讯内部为超过10个团队进行了部署,其中最大的项目每天处理超过10亿次请求。”
Xu Xin
,
Senior Software Engineer at Tencent Games
within Tencent Games
in daily peak hours
Tencentのグローバルなゲーム開発および運営部門であるTencent Gamesは、世界中で8億人以上のユーザーと接続しています。社内の重複した技術を統合するため、TencentはOTeamを結成し、類似の技術製品を統合し、オールインワンの技術プラットフォームを確立しました。
OTeamの取り組みを推進する中で、Tencent Gamesは多くの問題に直面し、それらをAPISIXを通じて解決したいと考えています。例えば:
煩雑で開発者に優しくないRPCフレームワークは、開発と統合プロセスに大きな複雑さを加えていました。
CL5、L5、Polarisなどの複数のサービスセンターをシームレスに移行・統合し、運用を効率化する必要がありました。
既存の複数のアラートシステムの欠点を解消するため、信頼性が高く使いやすいアラートソリューションが不可欠でした。
ユーザーはDDoS、リプレイ、リクエスト改ざんなど、さまざまなネットワーク攻撃に直面し、大きなセキュリティ課題を抱えていました。
APISIXの柔軟なプラグインメカニズムを活用し、Tencent Gamesは社内の監視システムと統合・連携しました。これにより、アラート管理がシンプルで便利になり、ユーザーは簡単な設定で監視ログを取得し、アラートを設定できるようになりました。
また、Tencent GamesはAPISIXのプラグインを通じてTRPCとTARS RPCプロトコル間のシームレスな変換を実現しましたが、ギャップを埋めるためにカスタムミドルウェアサービスの開発が必要でした。
Apache APISIXは、その高性能と低遅延で知られています。NGINXとLuaJITを基盤として構築されたApache APISIXは、1コアあたり23,000 QPSをサポートし、平均遅延はわずか0.6ミリ秒です。これらの特徴により、APISIXはマイクロサービスやリアルタイムデータ処理など、低遅延と高スループットを必要とするアプリケーションに最適な選択肢となっています。
etcdを設定センターとして使用するApache APISIXは、構造が軽量です。これにより、信頼性が高く一貫性のあるデータストレージソリューションを提供し、APISIXは動的な設定変更や高可用性の要件を容易に処理できます。ユーザーはシステムをリロードすることなく、ダウンタイムを発生させることなくリアルタイムの更新を実現できます。
APISIXは、多様な要件に対応するための強力なオープンソースプラグインのエコシステムを誇っています。例えば、プロトコル変換プラグインは、中間サービスを介してプロトコルを変換する必要性を効果的に解決し、ユーザーがAPIゲートウェイ内でHTTPとRPCプロトコルをシームレスに変換するための組み込みプラグインを直接活用できるようにします。
Apache APISIXを使用した後、Tencent GamesはTRPCとTARS RPCプロトコル間のシームレスな変換を実現しました。APISIXのプロトコル変換プラグインを活用することで、チームはHTTPとRPCプロトコル間の翻訳を処理するための専用の中間サービスを開発する必要がなくなりました。これにより、アーキテクチャが簡素化され、システム全体の複雑さが軽減されました。
OTeamの構築プロセスにおいて、Tencent GamesはAPISIXプラグインを活用して、Tencentのコア監視プラットフォームのいくつかと統合・連携しました。技術的背景のないビジネスプロジェクトのユーザーでも、APIのトレース、ロギング、メトリクスなどの可観測性データを自動的に報告し、監視プラットフォームでアラートを設定できるようになりました。この効率的なアプローチにより、必要な時間と労力が大幅に削減されました。
Tencent Gamesは、リプレイ攻撃や改ざん防止のセキュリティプラグインを開発し、そのような機能を必要とするプロジェクトに対してすぐに利用可能な保護策を提供し、これらのAPIの安全性を効果的に守っています。また、チームは社内のAPI仕様要件をAPISIXゲートウェイに組み込み、開発とデプロイのプロセスを簡素化し、APIの状況を集中管理および可視化できるようにしました。
Airwallexは、API7の商用サポートのおかげで、マルチクラウドとマイクロサービスアーキテクチャへのスムーズな移行を実現しました。これは、高度に最適化されスケーラブルなプラットフォームと、開発者コミュニティのサポートによるものです!
APISIX Ingress Controllerを採用した後、開発者はゲートウェイ上で設定を追加することが、コードを書くよりも簡単になりました。