In letzter Zeit wurden in neuen Projekten Springcloud und Docker verwendet. Ich werde diese beiden Technologien nicht separat vorstellen. Jetzt werde ich die Lösung zum Erreichen einer hohen Verfügbarkeit von Eureka durch Docker und Docker-Compose erläutern. 1. Eureka-Server-Projektverzeichnisstruktur: 2. Konfiguration der Eureka-Konfigurationsdatei: Server: Port: 8900 Frühling: Anwendung: Name: Eureka-Server Profile: aktiv: dev Management: Sicherheit: aktiviert: false Gesundheit: Kaninchen: aktiviert: false --- Frühling: Profile: Entwickler Heureka: Kunde: Dienst-URL: Standardzone: http://localhost:${server.port}/eureka/ Registrieren bei Eureka: falsch Registrierung abrufen: false Beispiel: Hostname: localhost bevorzugte IP-Adresse: wahr --- Frühling: Profile: test_ha_1 Heureka: Kunde: Dienst-URL: Standardzone: http://eurekaserver2:${server.port}/eureka/ Beispiel: Hostname: eurekaserver1 # prefer-ip-address: true Wenn diese Konfiguration wahr ist, bedeutet dies, dass die IP bei Eureka registriert ist. In diesem Fall kann der Eureka-Server Replikate nicht über den Server finden. # Wenn Sie also eine hohe Verfügbarkeit von Eureka über Docker erreichen möchten, verwenden Sie für diese Konfiguration am besten den Standardwert (false) # Es ist nicht unmöglich, es auf „True“ zu konfigurieren und eine hohe Verfügbarkeit zu erreichen, aber jeder Eureka-Dienst muss außerhalb der Docker-Umgebung zugeordnet werden und die IP kennen. --- Frühling: Profile: test_ha_2 Heureka: Kunde: Dienst-URL: Standardzone: http://eurekaserver1:${server.port}/eureka/ Beispiel: Hostname: eurekaserver2 # bevorzugte IP-Adresse: true 3. Konfiguration des Docker Maven-Plugins: <Bauen> <Plugins> <Plugin> <groupId>org.springframework.boot</groupId> <artifactId>Spring-Boot-Maven-Plugin</artifactId> </plugin> <Plugin> <groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>0.4.13</version> <Konfiguration> <imageName>${docker.image.prefix}/${project.artifactId}:${project.version}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <forceTags>wahr</forceTags> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> </Ressource> </Ressourcen> </Konfiguration> <!--<groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>0.4.13</version> <Konfiguration> <imageName>itmuch/${project.artifactId}:${project.version}</imageName> <forceTags>wahr</forceTags> <baseImage>java</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> </configuration>--> </plugin> </plugins> </bauen> 4. Inhalt der Docker-Datei: VON java:8 ADD eureka-server-1.0.0.jar eurekaserver.jar EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eurekaserver.jar"] 5. Generieren Sie das Eureka-Server-Image: Generieren Sie das Eurekaserver-Image, indem Sie den Befehl mvn clean package docker:build wie folgt ausführen: 6. Orchestrierung über Docker-Compose: Version: '2' Leistungen: eurekaserver1: Bild: raynspace/eureka-server:1.0.0 Häfen: - "7900:8900" Umfeld: – spring.profiles.active=test_ha_1 eurekaserver2: Bild: raynspace/eureka-server:1.0.0 #Hostname: eurekaserver2 Häfen: - "7800:8900" Umfeld: - spring.profiles.active=test_ha_2 7. Springen Sie zum Projektverzeichnis und führen Sie den Befehl docker-compose up aus, um automatisch zwei Container für den Eureka-Server zu generieren: 8. Da der Eureka-Port zugeordnet wurde, greifen Sie über den Port lokal auf Eureka zu, um den Eureka-Dienststatus zu überprüfen: Wie aus der obigen Abbildung ersichtlich, ist ein weiterer Eureka-Dienst sowohl in registrierten Replikaten als auch in verfügbaren Replikaten zu sehen. An diesem Punkt wird der Eureka-Cluster erstellt. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: MySQL 5.7.10 Installationsdokumentation Tutorial
>>: So lassen Sie eine Remoteverbindung in MySql zu
Einführung in die Umgebung: Ubuntu Server 16.04.2...
Inhaltsverzeichnis Indexmodell B+Baum Indexauswah...
In diesem Artikel werden hauptsächlich drei Metho...
Inhaltsverzeichnis Erster Blick auf die Wirkung: ...
Programmierer müssen sich viel mit MySQL befassen...
Vorwort Histogramme sind grundlegende statistisch...
Überblick Das Projekt wurde erfolgreich erstellt ...
Inhaltsverzeichnis Methode 1: Routing von Metainf...
Sperren in MySQL Sperren sind ein Mittel, um Ress...
Starten Sie die virtuelle Centos8-Maschine und dr...
Es gibt viele Schleifenanweisungen in JavaScript,...
In diesem Artikel wird der spezifische Code für d...
Wenn wir wissen, welche For-Schleife oder welcher...
Vorwort Vor MySQL 8.0 war es ziemlich mühsam, Dat...
Inhaltsverzeichnis Vorwort Kommunikation zwischen...