7

私は過去2年間、TomcatでJava + Springを使用してきましたが、私のアプリは著しく巨大になっています。起動時間は約3分になり、開発中に多くのリソースを消費します。

ですから、ソフトウェアの開発を再び楽しくする方法のアイデアに興味があります。Spring DM / Geminiの青写真を見てモジュール化したのですが、その経験は便利ではありませんでした。

これからさらにモジュールが追加され、別のWebアプリケーションを開発し、メッセージングにSpring統合を使用することを検討しています。どうやら、これは1台のデスクトップコンピューターで開発するのは非常に苦痛な経験になるでしょう。

クラウド開発の経験はありますか?これらすべての時間とリソースを消費するタスクを改善するにはどうすればよいですか?クラウドでの開発は役に立ちますか?

4

2 に答える 2

8

これは、典型的な Java+Spring Web アプリでよくある問題です。年齢とともに肥大化し始め、コンテキストの読み込みが苦痛になり始めます。この問題を軽減するためのヒントをいくつか提案できますが、アプリで正確に何が行われるかに応じて、最適な判断を下せるのはあなただけです。

  1. 開発中にサーバーに大きく依存しないでください。単体テストを作成し、サーブレット コンテナーの外部で実行します。Spring はこれに対して優れたサポートを提供します。

  2. ビジネス ロジックを Rest/Soap Web サービスに分割します (慎重かつ慎重に)。これにより、コア ビジネス ロジックから独立して UI を自由に開発およびテストできます。

  3. Maven/gradle を使用している場合は、jetty プラグインを試してください。変更をスキャンし続け、webapp を自動的にリロードします (Tomcat プラグインでも同じことができると思います)。再起動の間にセッションを保存する機能があるため、再起動の影響を受けません。詳細については、こちらを参照してくださいMaven と Netbeans を高速化するにはどうすればよいですか

  4. 【有料オプション】JRebelを試すことができます。

  5. アプリの統合/テスト/デプロイを継続し、開発者のマシンの負荷を軽減する CI サーバーを使用します。

于 2012-09-18T03:31:19.197 に答える
8

まず、ボトルネックを処理します。彼らは、成長するにつれてプロジェクトに忍び寄る傾向があります。元の設計は非常識な締め切りに間に合わせるために何度も妥協され、今では肥大化がかつて活発だったアプリケーションを殺してしまいました。

問題を推測するのではなく、実際のデータを使用して、アプリの速度を低下させている原因を特定してください。jProfiler などのプロファイラーを使用します: http://www.ej-technologies.com/products/jprofiler/overview.html

次に、学んだことを使用して、新しいモジュールをより効率的にします。肝心なのは、すべてのテクノロジーがボトルネックになる可能性があるため、テクノロジーを変更してもすべてを解決できるわけではないということです。問題の背後にある理由を見つけて、それを修正する必要があります。

ボトルネックを修正したら、新しいテクノロジでいくつかのテスト プロジェクトを作成して、それがより速く、より簡単で、必要なことを実行できるかどうかを確認できます。ただし、現在のスタックの問題を修正するだけで十分な可能性があります。

于 2012-09-18T03:26:53.530 に答える