EinführungWenn wir über Verteilung sprechen, müssen wir an verteilte Konfigurationszentren, verteilte Protokolle, verteilte Linkverfolgung usw. denken. Bei verteilter Bereitstellung haben Unternehmen oft viele Konfigurationen. Wenn beispielsweise eine Anwendung gestartet und ausgeführt wird, muss sie einige Konfigurationsinformationen lesen. Die Konfiguration begleitet grundsätzlich den gesamten Lebenszyklus der Anwendung. Beispielsweise müssen Datenbankverbindungsparameter, Startparameter usw. alle verwaltet und konfiguriert werden, aber es ist unmöglich, sich bei jedem Server anzumelden, um die Konfiguration durchzuführen. Heute möchte ich Ihnen das verteilte Konfigurationszentrum Apollo vorstellen: Apollo ist ein verteiltes Konfigurationszentrum, das von der Framework-Abteilung von Ctrip entwickelt wurde. Es kann die Konfiguration verschiedener Anwendungsumgebungen und Cluster zentral verwalten. Nachdem die Konfiguration geändert wurde, kann sie in Echtzeit an das Anwendungsende gesendet werden. Es verfügt außerdem über standardisierte Berechtigungen, Prozesssteuerung und andere Funktionen und eignet sich für Szenarien zur Konfigurationsverwaltung von Mikroservices. BauenEs gibt zwei Möglichkeiten zum Erstellen in der offiziellen Dokumentation: Eine besteht darin, den Quellcode zum Erstellen herunterzuladen, und die andere darin, Docker oder K8S zum Erstellen zu verwenden. Heute verwenden wir Docker zum Erstellen, schließlich ist Docker entwicklerfreundlicher. Wenn Sie bereits über einen MySQL-Dienst verfügen, empfiehlt es sich, den vorhandenen MySQL-Dienst oder den Cloud-Dienst RDS als Datenbank zu verwenden. Schließlich sind Daten unbezahlbar. Version: "3" Leistungen: apollo-configservice: #Config Service bietet Funktionen wie das Lesen und Pushen von Konfigurationen. Das Serviceobjekt ist das Apollo-Clientimage: apolloconfig/apollo-configservice:1.8.1 Neustart: immer #Containername: apollo-Konfigurationsservice Bände: - ./logs/apollo-configservice:/opt/logs Häfen: - „8080:8080“ Umfeld: - TZ='Asien/Shanghai' -SERVER_PORT=8080 – EUREKA_INSTANCE_IP_ADDRESS=xxx.xxx.xxx.xxx - EUREKA_INSTANCE_HOME_PAGE_URL=http://xxx.xxx.xxx.xxx:8080 - SPRING_DATASOURCE_URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai -SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=MysqkPassWord! apollo-adminservice: #Der Admin-Dienst bietet Funktionen wie Konfigurationsänderung und -veröffentlichung, und das Dienstobjekt ist das Apollo-Portal (Verwaltungsschnittstelle). Bild: apolloconfig/apollo-adminservice:1.8.1 Neustart: immer #Containername: apollo-Adminservice Bände: – ./logs/apollo-adminservice:/opt/logs Häfen: - „8090:8090“ hängt ab von: - Apollo-Konfigurationsdienst Umfeld: - TZ='Asien/Shanghai' -SERVER_PORT=8090 – EUREKA_INSTANCE_IP_ADDRESS=xxx.xxx.xxx.xxx - SPRING_DATASOURCE_URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai -SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=MysqkPassWord! apollo-portal: #Verwaltungsschnittstellenbild: apolloconfig/apollo-portal:1.8.1 Neustart: immer Containername: Apollo-Portal Bände: – ./logs/apollo-portal:/opt/logs Häfen: - „8070:8070“ hängt ab von: - Apollo-Adminservice Umfeld: - TZ='Asien/Shanghai' -SERVER_PORT=8070 – EUREKA_INSTANCE_IP_ADDRESS=xxx.xxx.xxx.xxx -APOLLO_PORTAL_ENVS=Entwickler – DEV_META=http://xxx.xxx.xxx.xxx:8080 - SPRING_DATASOURCE_URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai -SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=MysqkPassWord! Aus der obigen Datei docker-compose.yaml können wir ersehen, dass es insgesamt 3 Dienste gibt, nämlich:
Wenn Sie wissen möchten, wie sie funktionieren, empfiehlt es sich, die offizielle Dokumentation zu lesen Protokolle werden im externen Verzeichnis ./logs bereitgestellt. Sie können sehen, dass die Bereitstellung von MySQL oben nicht angegeben ist. Wenn Sie zum Bereitstellen von MySQL einen Container verwenden müssen, können Sie auf die folgende Datei docker-compose.yaml verweisen. Version: '3' Leistungen: mysql: # myslq-Datenbankimage: 'mysql/mysql-server' Containername: "mysql" Neustart: immer Befehl: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower-case-table-names=1 Umgebung: #Umgebungsvariable MYSQL_ROOT_HOST: "%" MYSQL_ROOT_PASSWORD: Passwort MYSQL_USER: Bach MYSQL_PASSWORD: Passwort Häfen: - „3306:3306“ Die obige mysql docker-compose.yaml dient nur zu Testzwecken Initialisieren Sie die Datenbanken apolloconfigdb.sql und apolloportaldb.sql Denken Sie nach der Initialisierung der Datenbank daran, die eureka.service.url der Serverconfig-Tabelle in der Apolloconfigdb-Bibliothek zu ändern. Andernfalls kann Apollo-Adminservice nicht bei Eureka registriert werden. Wechseln Sie nach der Änderung in das Apollo-Verzeichnis docker-compose.yaml und verwenden Sie
Überprüfen des Startstatus
Besuchen Sie http://10.0.0.53:8070/ #Apollo-Verwaltungsterminal Standardbenutzername: apollo Erstellen eines Testprojekts prüfenErstellen Sie ein .NetCore-Projekt und fügen Sie den Apollo.net-Client hinzu Apollo hinzufügen Konfigurieren Sie Apollo Konfiguration wie oben Fügen Sie Testinhalte hinzu, um den Apollo-Code zu erhalten Starten Sie das Programm und rufen Sie /weatherforecast/apollotest auf Es wurde festgestellt, dass die in Apollo festgelegte Konfiguration nicht abgerufen wurde Überprüfen Sie Apollo und stellen Sie fest, dass der konfigurierte Wert nicht veröffentlicht wird Daher muss jeder daran denken, nach der Konfiguration oder Änderung von Apollo zu veröffentlichen. Wir werden den Browser nach der Veröffentlichung erneut aktualisieren. Es wurde festgestellt, dass die Daten bereits neu sind. Lassen Sie uns Apollos Wert erneut ändern. Aktualisieren Apollo wurde gebaut und ist einsatzbereit. Code Der Code im Beispiel lautet Hinweis: Wenn die Konfiguration nach dem Start des Programms nicht abgerufen werden kann, können Sie das Apollo-Protokoll öffnen. Sie können die detaillierte Konfiguration in der Konsole anzeigen und in die erste Zeile der Hauptfunktion von Program.cs einfügen!
siehe 1. https://github.com/apolloconfig/apollo.net Dies ist das Ende dieses Artikels über die Docker Compose-Bereitstellung mit einem Klick des verteilten Konfigurationscenters Apollo. Weitere verwandte Inhalte zur Docker Compose-Bereitstellung des verteilten Konfigurationscenters Apollo finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Vue implementiert die Internationalisierung der Sprachumschaltung für Webseiten
Im Folgenden habe ich einige grundlegende SQL-Ken...
Ich frage mich, ob Sie jemals über diese Frage na...
Vorwort Im vorherigen Artikel wurden zwei Datenty...
Methode 1: Pycharm herunterladen und installieren...
Inhaltsverzeichnis 1. Hintergrundwissen 1. Einfüh...
Vorwort: Wie passt sich Vue basierend auf einem a...
1. Download-Adresse: http://dev.mysql.com/downloa...
Nach der Installation von VMware Tools ① kann Tex...
Vor dem Verpacken im Webpack müssen wir sicherste...
Ich habe gerade angefangen, React für Projekte zu...
:ist eine dynamische Komponente Verwenden Sie v-b...
Die Hauptfunktion eines Rechners besteht darin, n...
Inhaltsverzeichnis Vorwort Hintergrunddatenspleiß...
In diesem Artikel wird der spezifische Code von J...
führen Einige gängige Dreiecke auf Webseiten könn...