2016-12-09 6 views
1

私はDockerがコンテナでいっぱいになっています。私は、何かが起き上がったときや下ったときを監視する必要がある。私は2つの方法でこれを行うことができます:情報を取得するドッカーのパフォーマンス:ポーリングとイベントの比較

  • 群に付随してイベントを聞く。
  • ポーリングサービスのリスト

イベントと問題があり、巨大なトラフィックも、プラスいくつかのイベントが処理されていない場合、我々は起こっていただきました上で、単に緩ん情報意志かもしれないということです。

私にとっては、すぐに結果を得ることは重要ではありませんが、何が起こっているのかについての正しい情報を得ることです。

現実のプロジェクトの賛否両論はありますか?

答えて

1

イベントを聴くことは危険ですが、何らかの理由でイベントリスニングプログラムがクラッシュしたように危険な場合は、重要な情報を見落として間違った結果につながります。このRegistratorプログラムはイベントに基づいています。 ポーリング - 結果として一貫した結果。しかし、それがあなたの問題を解決すれば、データを取得するのに苦労することはありません。プログラムがクラッシュしたり再起動しても問題ありません。私たちは、このアプローチをプロジェクトでのサービス発見に使用しており、これまではこの目的を達成していました。

1

私の経験から、何かがアップであるかダウンであるかを確認するには、ヘルスチェックを使用する必要があります。また、サービスを実行しているアーキテクチャには依存しないようにしてください(そうしないと、 )。もちろん、あなたはそのように監視することができない特定のニーズを持ったサービスを持っているかもしれません - そうであれば、それについてコメントしてください。

ステートレスサービスのみにSwarmを使用している場合は、サービスが正常であることを確認し、障害のあるコンテナをサービスから切断するヘルスチェックルートを作成することをお勧めします。

ステートフルなものを実行している場合、これは扱いにくいかもしれませんが、通常はステートフルなコンテナを介して何らかの監視エージェントを使用するソリューションもあります(AWS上で実行しているのでcloudwatchを使用していますが、 )

これは役立ちます。

+0

確かに、あなたが言っていることを完全に理解している、私たちは似たようなことをしています。しかし、ここではいくつかの理由で安定性/パフォーマンスの違いに興味があります。ありがとう! – igr

関連する問題