Initialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
version: '3.1’
services:
    # API Gateway
    gateway:
        image: dockercloud/haproxy:1.6.0
        labels:
            com.docker.compose.service.description: "Point d'entrée principal à l'application, ce service prend en charge les requêtes et les redistribue aux bons services"
            com.docker.compose.service.languages: "HAProxy"
        environment:
            - FORCE_DEFAULT_BACKEND=True
            - EXTRA_FRONTEND_SETTINGS_80=default_backend default_service
            - TIMEOUT=connect 1200000, client 1200000, server 1200000
        networks:
            - api-network
        ports:
            - "80:80"
        links:
            - authorization-service
            - log-service
            - classic-frontend
            - person-service
            - nlp-service
            - ontology-service
            - file-downloader-service
            - dynamic-scoring-service
            - kibana-service
            - gpec_elasticsearch-storage-service
                 
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock


    pipeline-gateway:
        image: dockercloud/haproxy:1.6.0
        labels:
            com.docker.compose.service.description: "Point d'entrée principal aux services de pré-traitements"
            com.docker.compose.service.languages: "HAProxy"
        environment:
            - FORCE_DEFAULT_BACKEND=True
            - EXTRA_FRONTEND_SETTINGS_9000=default_backend default_service
            - TIMEOUT=connect 1200000, client 1200000, server 1200000
        networks:
            - pipeline-network
        ports:
            - "9000:80"
        links:
            - gepc_static-scoring-service
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
    
    # Security
    authorization-service:
        image: image/authorization-service:0.6
        labels:
            com.docker.compose.service.description: "Prend en charge la gestion des accès"
            com.docker.compose.service.languages: "Java"
        environment:
            - VIRTUAL_HOST=*/auth,*/auth/*
            - SPRING_PROFILES_ACTIVE=production 
        networks:
            - api-network
    # Logging
    log-service:

        image: image/log-service:0.6
        labels:
            com.docker.compose.service.description: "Permet de centraliser les logs applicatifs via un endpoint REST"
            com.docker.compose.service.languages: "NodeJS"
        environment:
            - VIRTUAL_HOST=*/log,*/log/*
            - MONGO_STORAGE_HOST= mongo-storage-service
            - MONGO_STORAGE_PORT= 27017
            - MONGO_STORAGE_DB= test
        networks:
            - api-network
    # Storage Cluster Mongo DB sur trois noeuds 
    mongo-storage-service:
        image: mongo:3.4
        command: mongod --replSet "rs1"
        labels:
            com.docker.compose.service.description: "Base de données principale"
            com.docker.compose.service.languages: "MongoDB"
        networks:
            - api-network
            - pipeline-network
        ports:
            - "9001:27017"
        volumes:
            - mongo-storage-data:/data/db
            
    mongo-worker-1:
        image: mongo:3.4
        hostname: mongo-selve
        command: mongod --replSet "rs1"
        ports:
          - "9002:27017"
        networks:
          - api-network
          - pipeline-network
        volumes:
            - mongo-storage-data:/data/db
            
    mongo-worker-2:
        image: mongo:3.4
        hostname: mongo-selve
        command: mongod --replSet "rs1"
        ports:
          - "9003:27017"
        networks:
          - api-network
          - pipeline-network
        
        volumes:
          - mongo-storage-data:/data/db

    classic-frontend:
        image: image/classic-frontend:0.6
        labels:
            com.docker.compose.service.description: "Interface Web"
            com.docker.compose.service.languages: "HTML,CSS,Javascript,jQuery"
        links:
            - person-service
            - nlp-service
            - file-downloader-service
            - mongo-storage-service
        networks:
            - api-network
        
          

volumes:
    mongo-storage-data:

networks:
    api-network:
        driver: overlay
    pipeline-network:
        driver: overlay
Les micros services sont déployés sur un seul serveur avec la commande suivant
« Tous les micro-services sont lancé en même temps »

J’aurai besoin d’adapte le ficher docker-compose pour le déployer sur un cluster en mode swarm sur trois nœuds.
Avez-vous des proposition