2017-01-26 8 views
12

ドッカー・コンテナを使用するベスト・プラクティスに関する質問があります。mysql用の複数のドッキング・コンテナまたは複数のデータベース用の1つのインスタンス

開発するアプリケーションごとに1つのデータベースが必要です。私の質問は、複数のデータベースを持つ1つのmysqlドッカーインスタンスを使用するか、各データベースに対して1つのインスタンスを作成すべきかどうかです。データベースごとに1つのインスタンスを作成することで私が見る短所は、すべてのデータベースにアクセスできるユーザーを持つことができないことです。私はこれがセキュリティ上の理由からプロであることは知っていますが、クライアントからバックアップしようとすると、すべてのインスタンスをバックアップする必要があります。そして、複数のインスタンスをリソースの多くのオーバーヘッドを使用していません(mysqlが少ないリソースを使用している可能性がありますが、終了するmssqlインスタンスを使用するとリソースの問題が発生する可能性があります)。それはドッカーと何が賛否両論ですか?

答えて

7

Dockerは、マイクロサービスの展開に特に適しています。私は個人的にはサービスごとに単一のデータベースを使用することを好む、別の展開にそれを拡張

  1. Database per service
  2. Shared database

:以下のリンクは、データベースの使用に関して2つの戦略を議論しますデータベースサーバーのインスタンスこれにより、サービスが緩やかに結合されることが保証されます。一方のサービスがDBの停止に苦しんでも、他のサービスには影響しません。

+0

回答ありがとうございます。あなたが(生産ではない)サービスの束を開発している間にもこのアプローチを使用していますか?確かに@BukharovSergey –

+0

。私の場合、アプリケーションコンテナの複数のコピーが接続されている単一のDBインスタンスを起動するのは難しいことではありません。 –