作業中のアプリケーションの設計について質問があります。
ゲームサーバーのような、24時間年中無休でソケットを開いたモノリシックJavaアプリケーションを作成しました。モジュール式のサーブレット/ページベースのWebアプリケーションではなく、単一のjarアプリケーションだと言っているだけです。
ここで、このアプリケーションにRESTfulAPIを追加したいと思います。したがって、人々/クライアントは、特定の情報を取得するために私のアプリケーションにHTTPリクエストを行うことができます。私のJavaアプリケーションはモノリシックな性質を持っているため、これを実装する方法がわかりません。もう1つの重要なこと:1秒あたり複数のリクエストを期待しているので、既存のhttpサーバーにリクエストを処理させ、何らかの方法でそれらをアプリに転送して応答を設定し、httpサーバーに送信させることができれば便利です。もう一度。
私が考えたいくつかのこと:
アプリケーションをtomcatアプリケーションでラップしますが、tomcatが要求に応じてサーブレットにマッピングする代わりに、アプリケーションを継続的に実行できるかどうかはわかりません。
ソケットを開き、着信httpリクエストを自分で解析します(または、おそらくそのためのライブラリがありますか?)。これがパフォーマンスに影響を与えるのではないかと心配しています。トラフィックが多い場合に最適化されているため、既存のhttpサーバーを使用することをお勧めします。
既存のhttpサーバーを使用してリクエスト(apache、lighttpなど)を処理し、scgiなどを介してリクエストをアプリに転送するか、XMLRPCを介して転送できるサーバーを使用します。これを行うための他のテクノロジー/プロトコルはありますか?
これを処理する方法について何かアドバイスはありますか?ありがとう!