NGINXとetcdを基盤とする、高性能で動的なAPIゲートウェイ。ルーティング、認証、レート制限、AI/LLM通信に対応。
apache/shenyu
プラグインチェーンと中央管理用のAdminコンソールを備えた、サービスプロキシ、プロトコル変換、APIガバナンス向けのJava製APIゲートウェイ。
代替できる製品:Kong
AWS API Gateway
- スター
- 8,912
- フォーク
- 3,111
- 未解決の Issue
- 353
- 最終コミット
- 14 時間前
これは何?
Apache ShenYuはJavaで書かれたAPIゲートウェイです。リクエストは順序付けられたプラグインチェーンを通過し、ShenYu Adminはプラグイン、セレクター、ルール、メタデータを保存して、ゲートウェイのレプリカに設定を配信します。Adminコンソールで設定を一元管理し、各ゲートウェイインスタンスは更新をローカルキャッシュに反映します。
HTTPやSpring Cloudのサービス、WebSocket接続、Apache DubboやgRPCのバックエンドをプロキシできます。ロードバランシング、レート制限、Resilience4jやSentinelによる耐障害性などのトラフィック制御に加え、WAF、署名、認証、キャッシュ、URL書き換えにも対応しています。最近追加された機能には、AIプロキシ、トークン制限、MCPサーバープラグインがあります。
サービスクライアントはアドレスとAPIメタデータをAdminに登録でき、オプションのKubernetesコントローラーはIngressとEndpointsリソースを調整します。設定同期はデフォルトでWebSocketを使用し、HTTP long polling、ZooKeeper、Nacos、etcdも利用できます。すぐに起動できるDockerイメージも提供されています。
主な機能
- 01順序付けられたプラグインチェーンと、カスタムJavaプラグインおよびWASMプラグインAPI
- 02HTTP、Spring Cloud、Dubbo、gRPC、WebSocketの上流サービスをプロキシ
- 03Resilience4jとSentinelによるロードバランシング、レート制限、耐障害性
- 04ゲートウェイのレプリカに設定を同期する中央管理用Adminコンソール
- 05KafkaやElasticsearchを出力先にできるメトリクスおよびログ用プラグイン
ユースケース
- HTTP、Dubbo、gRPCが混在するマイクロサービスの前段に単一のエントリーポイントを設置する
- 公開APIに認証、WAFルール、レート制限を適用する
- トークン制限やコンテンツフィルタリングを用いて、LLMプロバイダーへの呼び出しをプロキシし、管理する
- Ingressリソースを調整する、Kubernetes上のゲートウェイを運用する
クイックスタート
- 1
Dockerネットワークを作成する
docker network create shenyu - 2
READMEの手順に従ってシークレットを生成し、Admin、demo、gatewayの各コンテナを起動する
- 3
READMEの手順に従ってgatewayにサンプルルートを設定する
- 4
gateway経由でルートを確認する
curl -i http://localhost:9195/index.html
使う前に知っておきたいこと
- DockerのクイックスタートではデフォルトでインメモリのH2データベースを使用するため、ルートを永続化するには永続データベースが必要です。
- SOFAとTarsは同梱されなくなったため、別途plugin-storeのスターターが必要です。
- Apolloは非推奨で、Hystrixも非推奨のため、新規プロジェクトではどちらも避けてください。
収録されている特集
トピック
よくある質問
- shenyu とは?
- プラグインチェーンと中央管理用のAdminコンソールを備えた、サービスプロキシ、プロトコル変換、APIガバナンス向けのJava製APIゲートウェイ。 Apache ShenYuはJavaで書かれたAPIゲートウェイです。リクエストは順序付けられたプラグインチェーンを通過し、ShenYu Adminはプラグイン、セレクター、ルール、メタデータを保存して、ゲートウェイのレプリカに設定を配信します。Adminコンソールで設定を一元管理し、各ゲートウェイインスタンスは更新をローカルキャッシュに反映します。
- shenyu は無料で使えますか?ライセンスは?
- shenyu は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- shenyu は今もメンテナンスされていますか?
- 活発にメンテナンス中。shenyu の最終コミットは 2026年11月6日 です。
- shenyu は何に使えますか?
- HTTP、Dubbo、gRPCが混在するマイクロサービスの前段に単一のエントリーポイントを設置する 公開APIに認証、WAFルール、レート制限を適用する トークン制限やコンテンツフィルタリングを用いて、LLMプロバイダーへの呼び出しをプロキシし、管理する Ingressリソースを調整する、Kubernetes上のゲートウェイを運用する
- shenyu のインストール方法は?
- Dockerネットワークを作成する: docker network create shenyu READMEの手順に従ってシークレットを生成し、Admin、demo、gatewayの各コンテナを起動する READMEの手順に従ってgatewayにサンプルルートを設定する gateway経由でルートを確認する: curl -i http://localhost:9195/index.html
- shenyu はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/apache/shenyu
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
プラグイン式のサービスディスカバリー、複数のトランスポートとコーデック、HTTP経由の多言語アクセスに対応した、マイクロサービス構築向けのGo RPCフレームワーク。
Spring FrameworkとSpring Bootを基盤とし、マイクロサービス環境でHTTPリクエストをルーティング、フィルタリングするAPIゲートウェイです。
Go製の高性能でステートレスな宣言型API Gateway。バックエンドのマイクロサービスへの呼び出しをルーティング、集約、保護します。
Kongは、プラグインで拡張でき、サービス通信のルーティングと保護を担う、クラウドネイティブでプラットフォームに依存しないAPI・LLM・MCPゲートウェイです。
クラウドネイティブ環境やマイクロサービスシステム向けに、動的なサービスディスカバリー、設定管理、サービスメタデータ管理を提供するオープンソースプラットフォーム。