2

アーキテクチャのリファクタリングを行っています。私たちはSaaS企業であるため、すべてのデプロイは自社の自己管理型サーバーに対して行われます。現在のモデルは、すべてのバイナリと、使用するサードパーティのライブラリを耳、戦争、タールなどにパックします。これらのパッケージには、依存するすべてのライブラリが含まれています。

それらが展開されると、それらは手動で展開されるか(展開されない)、またはそれらが構築されたターゲットコンテナによってピックアップされます。

ライブラリはあまり変更されないため、環境設定の一環としてライブラリを事前に展開し、必要に応じて更新する方がよいかどうか疑問に思っています。私たちはどちらか一方に傾いているわけではなく、私はただいくつかのフィードバックを探しています。

4

1 に答える 1

4

一般に、ライブラリに耳や戦争などを詰め込むことをお勧めします。いくつかの理由は次のとおりです。

  • 新しいサーバーマシンを構成するときに時間を節約できます。依存関係をデプロイ可能なものにパッケージ化しない場合、新しいターゲットサーバーマシンですべての正しいライブラリを取得するのに長い時間がかかる可能性があります。
  • 同じライブラリの異なるバージョンに依存するアプリケーションサーバーに異なる.warファイルをデプロイできます
  • 依存関係をデプロイ可能なものとパッケージ化する(単に再デプロイする)場合、ライブラリーのアップグレードは簡単です。ライブラリが分離している場合は、新しいライブラリ(および問題が発生する可能性のある別の場所)を展開するための追加の手順があります。
  • 依存関係を含めると、テスト環境にデプロイされた.warがprod環境でも同じように動作することを確認できます。一元化されたライブラリとバージョンを使用したテスト/製品環境の微妙な違いにより、問題が発生することがよくあります。
  • 依存関係リストは本当に明示的です。たとえば、オープンソースライセンス監査を行うことができます。パッケージに依存関係をパッケージ化しない場合、あなたは決して知りません...
于 2010-01-20T22:31:43.050 に答える