問題タブ [java-vertx-web]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
651 参照

scala - Vertx Web: 複数のファイル間でルートを分割して整理する方法は?

これまでのところ、Vertx が大好きです。ドキュメンテーションは素晴らしく、言語間のサポートは驚くべきものです。

ただし、特定の問題の例とドキュメントはすべて古くなっているようです。それ以来、API は少し変更されていると思います3.4.x(私は現在3.9.1Scala で使用してい2.13.1ます。

物事を整理しておくために、ルートを複数のファイルに分割できるようにしたいと考えています。たとえば、UserRoutesファイルがあり、 用に別のファイルを作成したいのTodoRoutesですが、これらのファイルの両方をServerVerticle.

これを行うために私が見つけた唯一の方法は、基本的に次のとおりです。

ユーザールート:

サーバーの垂直方向:

代わりに私が本当にやりたいこと:

私がこれを好む理由はUserRoutes、どのパスが使用されているか、どのパラメーターが必要かなど、 で何が行われているかを正確に確認する方が簡単だからです。

このサンプル アプリケーションと同様のアプローチを試してみましたが、Vertx API が3.9?

これを行う最善の方法は何ですか?何が欠けていますか?大規模な REST API はどのようにルートを分割しますか?

0 投票する
1 に答える
164 参照

java - Vert.x: Verticle を専用のイベント ループに分離する方法は?

私の Java アプリケーションでは、vertx-web 3.9.3を使用して、Web アプリと一部の残りの API エンドポイントの両方をホストするための Web サーバーを作成しています。Web アプリはミッション クリティカルですが、残りの API はあると便利です。

したがって、web-app と rest api を 2 つの頂点としてデプロイしました。それぞれが別のポートで個別の http サーバーを起動し、それらの間に明確な分離があることを期待して、rest api が間違いを犯した場合、たとえばイベントループがハングするようにします。私のミッション クリティカルな Web アプリには影響しません。

これはそうではないことが判明しました。特定の頂点にどのイベント ループを割り当てるかを制御できないようです。イベント ループの割り当てにはラウンド ロビン ポリシーがあるように見えますが、十分なバーティクルがあれば、そのうちのいくつかは最終的に同じイベント ループを共有し始めます (決定論的に制御できない方法で)。

vertx で verticle を隔離された環境に保つことは可能ですか? 別の Vertx インスタンスを作成しても問題ありませんか? また、分離は実現しますか?