すべてのマイクロサービス向けのスケーラブルで高性能、応答性の高い API ゲートウェイ ソリューション
神禹(しんゆう)は、中国の古代君主である夏禹(後に大禹としても知られる)の尊称であり、人々の利益のために黄河を3回渡って成功したという感動的な物語を残しました。川の氾濫。堯・舜と並んで古代中国の三大王の一人として知られる。
第一に、神雨という名前は中国文明の伝統的な美徳を促進するためのものです。
次に、ゲートウェイで最も重要なことは、トラフィックのガバナンスです。
最後に、コミュニティは公平、公正、オープン、能力主義的な方法で物事を行い、シェンユーに敬意を表しながら、アパッチ ウェイにも準拠します。
> docker pull apache/shenyu-admin > docker network create shenyu > docker run -d -p 9095:9095 --net shenyu apache/shenyu-admin
> docker network create shenyu > docker pull apache/shenyu-bootstrap > docker run -d -p 9195:9195 --net shenyu apache/shenyu-bootstrap
{
"name" : "Shenyu",
"data" : "hello world"
}
localKey: 123456ヘッダーに追加します。localKey をカスタマイズする必要がある場合は、sha512 ツールを使用してプレーンテキストに基づいてキーを生成し、
shenyu.local.sha512Keyプロパティを更新できます。
curl --location --request POST 'http://localhost:9195/shenyu/plugin/selectorAndRules' \ --header 'Content-Type: application/json' \ --header 'localKey: 123456' \ --data-raw '{ "pluginName": "divide", "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]", "conditionDataList": [{ "paramType": "uri", "operator": "match", "paramValue": "/**" }], "ruleDataList": [{ "ruleHandler": "{\"loadBalance\":\"random\"}", "conditionDataList": [{ "paramType": "uri", "operator": "match", "paramValue": "/**" }] }] }'
{
"name" : "Shenyu",
"data" : "hello world"
}
リクエストが来るたびに、Apache ShenYu は責任の連鎖を通じて有効なすべてのプラグインによってそれを実行します。
Apache ShenYu の心臓部として、プラグインは拡張可能でホットプラグ可能です。
異なるプラグインは異なることを行います。
もちろん、ユーザーは自分のニーズに合わせてプラグインをカスタマイズすることもできます.
カスタマイズしたい場合は、custom-pluginを参照してください。
HTTP 要求ヘッダーに従って、セレクターとルールを使用して要求をルーティングします。
セレクターは最初のルートです。たとえば、モジュール レベルでは粗いです。
ルールは 2 番目のルートであり、リクエストが何をすべきだと思いますか。たとえば、モジュールのメソッド レベル。
セレクターとルールは 1 回だけ一致し、一致が返されます。したがって、最も粗い粒度を最後にソートする必要があります。
すべてのデータは JVM で ConcurrentHashMap を使用してキャッシュされているため、非常に高速です。
Apache ShenYu は、ユーザーがバックグラウンド管理で構成情報を変更すると、ZooKeeper ノード (または WebSocket プッシュ、HTTP ロング ポーリング) をリッスンしてキャッシュを動的に更新します。
登録順に、より多くのアクセス企業がhttps://github.com/apache/shenyu/issues/68 (オープンソース ユーザーのみ) に登録してください。
すべてのユーザー:既知のユーザー