Lancez votre ENT en 5 minutes !
Trois choix de déploiement s'offrent à vous :
- Docker Compose (recommandé pour un ENT n'ayant pas besoin de répartir les charges)
- Docker Swarm (recommandé pour un ENT répartissant les charges entre différents serveurs)
Chaque service n'est pas répliqué. Si vous le pouvez, utilisez le mode Docker Swarm ; il est plus optimisé pour une instance de production. Ce mode est faillible au Single Point of Failure (SPOF).
Pour faciliter la représentation, nous supposons que nous activons uniquement le module
blog.
architecture-beta
group docker(server)[Serveur Docker]
service internet(cloud)[Internet]
service elasticsearch[Elasticsearch] in docker
service mongo[MongoDB] in docker
service neo4j[Neo4J] in docker
service postgres[PostgreSQL] in docker
service redis[Redis] in docker
service vertx-blog[Blog] in docker
service traefik(internet)[Traefik] in docker
service zookeeper[Zookeeper] in docker
internet:B --> T:traefik
traefik:B -- T:zookeeper
vertx-blog:R -- L:zookeeper
traefik:L --> T:vertx-blog
Chaque service est répliqué autant de fois qu'il y a de nodes disponibles (sauf pour certains services qui sont fixés à 3 répliques). Ce mode résiste au Single Point of Failure (SPOF) et permet véritablement de répartir les charges entre différents serveurs.
- Le cluster est composé de trois nodes.
- Les services nécéssitant un nombre fixe de répliques sont au nombre de
2.- Seul le module
blogest activé pour l'exemple.
architecture-beta
group swarm-cluster(server)[Cluster Docker Swarm]
group server-1(server)[Serveur 1] in swarm-cluster
group server-2(server)[Serveur 2] in swarm-cluster
group server-3(server)[Serveur 3] in swarm-cluster
service internet(cloud)[Internet]
service load-balancer(cloud)[Load Balancer]
service traefik-1(internet)[Traefik] in server-1
service traefik-2(internet)[Traefik] in server-2
service traefik-3(internet)[Traefik] in server-3
internet:B --> T:load-balancer
load-balancer:B --> T:traefik-1
load-balancer:B --> T:traefik-2
load-balancer:B --> T:traefik-3