5 votes

Docker - Meilleure pratique pour les conteneurs de base de données ?

J'ai un conteneur postgreSQL en cours d'exécution et j'aimerais démarrer une autre application dockerisée qui a besoin d'une base de données. Dois-je utiliser le même conteneur postgreSQL ou en créer un autre (la seconde application n'a aucun rapport avec la première) ?

Quelle est la meilleure pratique en la matière ?

5voto

Adiii Points 5246

Lorsqu'il s'agit de Docker ou de microservices, la relation entre les services doit être indépendante, plus le service est indépendant, plus il y a de place pour l'évolutivité et la flexibilité.

Il y a de nombreux éléments à prendre en compte qui vous amèneront à opter pour un conteneur DB séparé.

  • Que se passerait-il si vous utilisiez un seul conteneur de base de données et si celui-ci tombait en panne ? les deux applications sera en panne
  • Mise à jour du conteneur DB pour app A entraînera des changements ou des efforts considérables dans les domaines suivants app B
  • Vous ne pourrez pas faire évoluer la base de données pour une seule application, ce qui nécessitera plus de ressources.
  • Le fait d'avoir une seule base de données pour chaque application réduira la dépendance et permettra de prendre en compte de nombreuses autres choses du point de vue de l'infrastructure.

2voto

Adi Dembak Points 2061

Des services ou des applications distincts doivent utiliser des conteneurs différents. Sinon, vous vous imposez des contraintes inutiles.

Que se passe-t-il si, par exemple, demain vous devez répliquer App2 et l'étendre rapidement ? Si l'application a son propre conteneur de base de données, cette tâche est beaucoup plus simple.

1voto

eric roberts Points 31

Vous devez utiliser deux conteneurs différents pour créer l'application et Postgresql.

Raisons :

  1. Lorsque vous aurez besoin de Postgresql pour une autre application que vous développerez à l'avenir, vous devrez démarrer le conteneur. Or, si votre ancienne application et la base de données se trouvent dans le même conteneur, celui-ci démarrera également la première application, ce que vous ne souhaitez peut-être pas.

  2. Vous pouvez utiliser le même conteneur avec plusieurs applications. ( Seulement pour les petites applications)

  3. Vous pouvez augmenter la taille de la base de données dans un autre conteneur.

0voto

Mohsin Amjad Points 576

Conteneurs séparés avec montages de volumes séparés. Comme votre application n'est pas liée, vous ne voulez pas que l'application 1 modifie les données de l'application 2 et vice versa.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X