私はスプリングブート1.4.3プロジェクトを持っています。最近私は、サーバーからWebアプリケーションにログを送信し、ログをWebページに印刷する必要があるという要件を思いつきました。私はWebSocketsを認識していますが、より良いソリューションを探していました。私はReactive ProgrammingとgRPCを見つけました。スプリングブート2&スプリング5コンテナ混同
SpringはReactive ProgrammingをSpring version 5でサポートしていますが、gRPCとReactive Programmingの間ではかなり混乱しています。 gRPCは、Nettyの上に構築された双方向ストリーミングを特徴とし、サーバからリアクティブプログラミングのようなクライアントにデータをプッシュするのと同じ機能を提供します。だから私はどちらを使うべきです、あなたがこの混乱で私をクリアできるなら、それは本当に素晴らしいでしょう。
また、Spring Version 5をサポートするSpring Boot 2に移行すると、プロジェクトはNetty上で実行されます。私の混乱は、私はJettyサーバー上の通常のRESTエンドポイントやNettyサーバー上のReactive APIのような別のコンテナでアプリケーションを実行しなければならないのですか?またはSpringはNetty上の反応リクエストを処理して残りの一般的なREST私が知る限り、NettyはServlet Containerではないので、Jettyサーバー上のAPI。
なぜ反応型プログラミングがこれを解決するのでしょうか?リアクティブプログラミングだけでは何も追加されません。また、Spring Boot 2もSpring 5も最終的なので、実際には使用したくないでしょう。ログのみを送信する場合は、アプリケーション全体を書き換えるのではなく、データベースにアクセスできる場所にログを保存します。 –
@ M.Deinumログのデータはデータベースに保存されますが、フロントエンドはバックエンドに接続され、ログはデータベースから読み取られ、データのストリームとしてフロントエンドにプッシュされます。継続的に更新されるログデータも、同じアクティブな接続中に読み取られ、クライアントにプッシュされます。 – ghost
まだ反応がありません。 Web SocketsのServer Sent Eventsのようにフロントエンドに転送するメカニズムが必要です。どちらも、反応的なプログラミングなしで完全にうまくいくことができます。 –