7

人々は、Compojureアプリケーションを簡単にデプロイするためにラインリングを使用することを提案しているようです。それは単に開発のためのものではありませんか?私は、lein-ringで実行されている同じアプリとuberjarを使用してleiningenでパックされた同じアプリのベンチマークを行いました(java -jarで実行され、ring-jettyが含まれています)。

驚いたことに、ラインリングを使用するとパフォーマンスが少し向上します。私は何かが足りないのですか?

どうすればlein-ringを使い続けることができますが、例外が発生した場合にスタックトレースを出力したり、変更されたファイルをチェックしたりすることは避けられますか?

ありがとう

4

2 に答える 2

3

lein-ring を使用すると、コンテナに展開するための war ファイルを簡単に作成できます (また、 Amazon の Elastic Beanstalk に簡単に展開するためのlein-beanstalkの基礎として機能します)。製造。確かにオプションですが、おそらく最良のオプションはめったにありません。ホスト/コンテナが推奨する方法を使用してデプロイすることをお勧めします。これはほとんどの場合、war を展開する (lein-ring を使用してビルドできる) か、Jetty インスタンスが埋め込まれたさまざまなコンテナーレス展開を使用することを意味します ( Herokuと Leiningen のように)。

本番環境で lein-ring を使用したいが、開発時の機能 (コードのリロード、スタック トレースのレンダリングなど) をオフにしたい場合は、RING_ENV環境変数をproductionに設定する必要があります。次に例を示します。

export RING_ENV=production
lein ring ...
于 2012-04-19T15:01:38.107 に答える
0

lein-ring は開発専用ツールです。もちろん、アプリケーションをパッケージ化してデプロイする方法は、パフォーマンスに影響を与えます。ここでリンゴとリンゴを実際に比較していますか?

私はレインリングと埋め込まれた桟橋の展開に大きな違いがあることを発見しました.

そうは言っても、レインリングを使用すると、多くのものを逃します。アプリケーションを適切なコンテナに入れることで、運用上のサポートと監視可能性が大幅に向上します。

于 2011-10-28T15:10:28.400 に答える