
当社には 3 台のサーバーがあり、それぞれ RHEL 7.6 を実行しています。各マシンには 64G の RAM と 15 個の CPU が搭載されています。
すべてのマシンに一連のサービス --- kafka
、、 ---zookeeper
をインストールする準備をしています。各サービスは Docker コンテナに基づいています。schema registry
すべてのマシンに docker をインストールする予定で、各マシンには 3 つの docker コンテナが含まれます。
すべてのコンテナが OS ディスクの一部である場合、Docker コンテナは悪影響を及ぼしますか? 各マシンに追加のディスクを追加し、追加ディスクに Docker コンテナを割り当てる必要がありますか? ここでのベスト プラクティスは何ですか?
答え1
理論的な観点から答えますが、Docker 上の Kafka の経験はありません。
Dockerは主に分離技術である仮想マシンではないこれは、あなたが想像するよりもはるかに軽量であることを意味します。その大部分は、名前空間マウントを含むバインドマウント。
Docker に何を要求しているかによって多少異なります。
使用する場合バインドマウントまたはDockerボリュームこれらはホスト システム上のファイルとして直接保存されます。パフォーマンスのオーバーヘッドは Linux のバインド マウントのオーバーヘッド以下になるはずです。これは、まさにそのとおりの結果が得られるからです。このパフォーマンスのオーバーヘッドはほぼゼロです。
その他のストレージボリューム、例えばAmazon S3 でサポートされているものオーバーヘッドが発生する可能性があります。
つまり、ディスク上の結果は、通常、ホスト システムで実行した場合と非常によく似たものになるはずです。Docker は、きちんとしたサンドボックスを作成し、それをコンテナーと呼ぶだけです。