Apache ShenYu(インキュベーション)2.4.3
Liu Yi、Xiao Yu、Apache ShenYu
リリースマネージャー
2 / Apache ShenYu PPMC
3か月後、Apache ShenYuはバージョン2.4.3を再びリリースしました。このバージョンのコンテンツには、200以上のプルリクエストがあり、30以上の貢献者が参加し、多くの新機能が追加され、多くのバグが修正され、多くの最適化が行われました。コンテンツの
Vol.1 新機能
- Http登録済みクライアントの再試行メカニズムが追加されました。
- サポートされているContent-Typeはoctet-streamです。
- BootstrapのURIのリダイレクトをサポートします。
- ローカルAPI認証を追加しました。
- Dubboコンシューマスレッドプールのサイズの構成をサポートします。
- Divideプラグインの失敗再試行メカニズムをサポートします。
- Webscoketのクライアント構成がサポートされています。
- 六MemoryLimitedLinkedBlockingQueue。
- AlibabaDubboプラグイン共有スレッドプールをサポートします。
- gRPCプラグイン共有スレッドプールをサポートします。
- メトリックプラグインを追加しました。
- キャッシュプラグインを追加します。
- LoggingRocketMQプラグインを追加しました。
Vol.2最適化項目
- JUnit4をJUnit5に更新します。
- パスワードの暗号化を最適化します。
- shenyu-adminモジュールのインターフェースパラメータを最適化して検証します。
- 同期データを最適化する場合、データを初期化するコード。
- LoggingRocketMQプラグインの統合テストを追加しました。
- ScheduledExecutorServiceクラスでスケジュールされたラウンドアルゴリズムを使用します。
- adminに登録されたURIのbuildHandleメソッドをリファクタリングします。
- 自動的にポートを設定するようにSpringCloudクライアントを最適化しました。
- マルチレベルトークンをサポートするようにJWTプラグインをリファクタリングしました。
- 最適化されたゲートウェイnettyパラメーターのカスタマイズと構成可能
Vol.3バグ修正
- CommonUpstreamUtilsクラスの初期化でのnullポインタ例外を修正しました。
- Nacos登録が失敗した場合の判断を修正しました。
- 未登録ユーザーにログインするときのnullポインター例外を修正しました。
- 起動ログを繰り返し印刷する問題を修正します。
- 再試行回数とタイムアウト期間が有効にならない問題を修正しました。
- トークン解析エラーの問題を修正します。
- Websocketが大きなデータを異常に送信する問題を修正します。
- NettyHttpClientプラグインが失敗時に再試行しない問題を修正しました。
- CVE-2021-41303の脆弱性を修正しました。
- すべてのプラグイン包含条件の判断が有効にならない問題を修正しました。
- Httpヘッダーがデータを失う問題を修正します。
- URLプレースホルダーをサポートしていないRewriteプラグインを修正しました。
- Nacosの異常な同期データの問題を修正します。
- ContextPathプラグインが開いているときのWebsocketプロキシの失敗またはnullポインター例外を修正しました。
- Httpに登録されたクライアントのポート占有チェックを修正しました。
Vol.4 削除されたアイテム
- Monitorプラグインを削除します。
- shenyu-agentモジュールを削除します。
Vol.5メトリクスプラグインの説明
メトリックプラグインは、ゲートウェイが自身の実行ステータス(JVM関連)を監視し、応答遅延、QPS、TPS、およびその他の関連メトリックを要求するために使用されます。
プラグインの使用
-
ゲートウェイのpom.xmlファイルにメトリックの依存関係を追加します。
<dependency>
<groupId>org.apache.shenyugroupId>
<artifactId>shenyu-spring-boot-starter-plugin-metricsartifactId>
<version>${project.version}version>
<dependency>
-
ゲートウェイの構成yamlファイルで以下を編集します
shenyu:
metrics:
enabled: false #设置为 true 表示开启
name : prometheus
host: 127.0.0.1 #暴露的ip
port: 8090 #暴露的端口
jmxConfig: #jmx配置
props:
jvm_enabled: true #开启jvm的监控指标
特定のメトリクス情報については、公式Webサイトの説明を確認してください:https://shenyu.apache.org/zh/docs/plugin-center/observability/metrics-plugin
Vol.5キャッシュプラグインの説明
キャッシュプラグインは、ターゲットサービスの結果をキャッシュでき、ユーザーがキャッシュされた結果の有効期限を構成できるようにします
プラグインの使用
-
ゲートウェイのpom.xmlファイルにキャッシュの依存関係を追加します。
<dependency>
<groupId> org.apache.shenyu </ groupId>
<artifactId> shenyu-spring-boot-starter-plugin-cache </ ArtifactId>
<version> $ {project.version} </ version></dependency>
-
データが頻繁に更新されず、多数の呼び出しが必要なシナリオ。
-
高いデータ整合性を必要としないシナリオの場合。
Vol.5LogingRocketMQプラグインの説明
Apache ShenYuゲートウェイは、クライアントリクエストを受信し、そのリクエストをサーバーに転送して、サーバーの結果をクライアントに返します。ゲートウェイは、各リクエストに対応する詳細情報を記録できます。
次のようにリストされます:要求時間、要求パラメーター、要求パス、応答結果、応答ステータスコード、時間のかかる、アップストリームIP、待機中の例外情報。
Logging-RocketMQプラグインは、アクセスログを記録し、アクセスログをRocketMQクラスターに送信するプラグインです。
プラグインの使用
ゲートウェイのpom.xmlファイルに依存関係を追加します。
<dependency>
<groupId> org.apache.shenyu </ groupId>
<artifactId> shenyu-spring-boot-starter-plugin-logging-rocketmq </ ArtifactId>
<version> $ {project.version} </ version></dependency>
各パラメーターの特定の構成と機能は、公式Webサイトで確認できます:https://shenyu.apache.org/zh/docs/plugin-center/observability/logging-rocketmq
次のバージョンの計画
特徴
クラスタープランを追加する
ShenYuのクラスターモードとゲートウェイの動的な拡張および縮小をサポートするためにshenyu-proxyモジュールが追加されました
Nginxアップストリームモジュールに接続するためのshenyu-nginxサブプロジェクトを追加しました
多言語SDKを追加
多言語SDKは、主に他のタイプの言語がshenyuゲートウェイにすばやくアクセスできるようにするためのものです
https://github.com/apache/incubator-shenyu-client-donet
https://github.com/apache/incubator-shenyu-client-golang
https://github.com/apache/incubator-shenyu-client-python
Helmのサポートが追加されました
参加しませんか
Apache ShenYuは、マルチプロトコル、プラグイン、高性能APIゲートウェイであり、2021年5月にApacheインキュベーターに参加します。
貢献する方法
https://shenyu.apache.org/zh/community/contributor-guide