Apache APISIX 高性能 API ゲートウェイ – 開発ドキュメント

Apache APISIX は、Nginx と etcd を基盤としたクラウドネイティブな高性能 API ゲートウェイです。動的ルーティングやプラグインのホットロードをサポートし、マイクロサービス環境での API マネジメントに特化しています。

APISIX の特徴

  • 動的設定: サービス再起動不要で設定やプラグインをリアルタイムに更新可能
  • 多プロトコルサポート: HTTP(S)/TCP/UDP/MQTT/gRPC/WebSocket 等のプロトコルを扱える
  • サービス発見: サービス登録中心を介して負荷分散を自動化
  • セキュリティ機能: 認証・認可、IPブラックリスト、レート制限、DoS対策など
  • パフォーマンス: 単コアで最大18,000 QPSを達成、平均遅延0.2ミリ秒

主な機能

カテゴリ 機能
ネットワーク7層/4層プロキシ、SSL証明書の動的ロード
負荷分散重み付きロードバランシング、一貫性ハッシュアルゴリズム
マイクロサービスサービス発見、グレースフルリスタート、セッション保持
監視Prometheus メトリクス、OpenTracing 対応(SkyWalking/Zipkin)
拡張性カスタムプラグイン開発、Lua スクリプトによる処理カスタマイズ

導入手順

  1. 依存環境準備: OpenResty (v1.15.8.1以上) と etcd のインストール
  2. 導入方法選択:
    • ソースコードからのビルド
    • RPMパッケージ(CentOS7)
    • Luarocks経由
    • Dockerイメージ利用
  3. 基本起動コマンド
  4. sudo apisix start

管理コンソール構築

Dashboardの構築には以下の手順が必要です:

  1. Node.js(v10以上)環境の確保
  2. サブモジュールの初期化
  3. git submodule update --init --recursive
  4. yarnでの依存関係インストール
  5. cd dashboard && yarn && yarn build:prod
  6. コンソールファイルの配置
  7. cp -r dist/* apisix/dashboard/

パフォーマンス比較

AWS 8コアサーバーでのベンチマーク結果:

  • QPS: 140,000
  • 平均遅延: 0.2ミリ秒

Kongとの比較

項目 Apache APISIX Kong
技術スタックNginx + etcdNginx + PostgreSQL
QPS(1コア)18,0001,700
設定反映速度イベント通知(1ms未満)ポーリング(5秒)
カスタムアルゴリズムサポート非サポート

タグ: nginx etcd API Gateway Cloud Native マイクロサービス

6月25日 16:12 投稿