Der Inhalt dieses Artikels ist eine Zusammenfassung (detaillierte Schritte) zur Konfiguration des Multi-Environment-Managements in Nacos. Ich hoffe, dass dies für Freunde in Not hilfreich ist hilfreich sein.
Mehrere Umgebungsverwaltung
In Nacos gibt es mehrere Konzepte unterschiedlicher Verwaltungsebenen, darunter: Daten-ID, Gruppe, Namespace. Solange Sie die Beziehung zwischen diesen hierarchischen Konzepten gut nutzen, können Sie ein Multi-Umgebungsmanagement entsprechend Ihren eigenen Anforderungen erreichen.
Als Nächstes werde ich verschiedene Implementierungsmethoden vorstellen, die verwendet werden können:
Durch die Verwendung von Daten-ID und Profilen zur Implementierung von
Daten-ID in Nacos können wir es so verstehen, wie es ist der Name der Konfigurationsdatei einer Spring Cloud-Anwendung. Aus dem vorherigen Artikel „Spring Cloud Alibaba Basic Tutorial: Detaillierte Erläuterung der Nacos-Konfigurationsladeregeln“ wissen wir, dass das Namensformat der Daten-ID standardmäßig wie folgt lautet: ${spring.application.name}.properties, also: Spring Benannte Eigenschaftendatei der Cloud-Anwendung.
Tatsächlich umfassen die Daten-ID-Regeln auch Umgebungslogik, die dem Design von Spring Cloud Config ähnelt. Wenn die Anwendung gestartet wird, können wir den spezifischen Umgebungsnamen über spring.profiles.active angeben. Zu diesem Zeitpunkt organisiert der Client die Daten-ID, um die Konfiguration wie folgt zu erhalten: ${spring.application.name}-${spring.profiles .active}.properties.
Eigentlich ist die originellere und gebräuchlichste Übereinstimmungsregel diese: ${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.config .Dateierweiterung}. Das obige Ergebnis ist darauf zurückzuführen, dass sowohl ${spring.cloud.nacos.config.prefix} als auch ${spring.cloud.nacos.config.file-extension} Standardwerte verwenden.
Probieren Sie es aus
Wir können die Beispiele im Artikel „Spring Cloud Alibaba Basic Tutorial: Using Nacos as a Configuration Center“ verwenden (verfügbar im Lager unter (am Ende des Artikels) Lassen Sie uns als Grundlage diese Konfigurationsmethode erleben, die Umgebungen unterscheidet.
Schritt 1: Erstellen Sie zunächst den Konfigurationsinhalt von zwei verschiedenen Umgebungen in Nacos basierend auf dieser Regel. Zum Beispiel:
Wie oben gezeigt, haben wir zwei unabhängige Umgebungskonfigurationen für DEV und TEST für die Anwendung alibaba-nacos-config-client definiert. Wir können darin verschiedene Inhaltswerte definieren, um später zu überprüfen, ob tatsächlich die richtige Konfiguration geladen wird.
Schritt 2: Fügen Sie in der Konfigurationsdatei der alibaba-nacos-config-client-Anwendung die Umgebungskonfiguration hinzu: spring.profiles.active=DEV
Schritt 3: Starten Sie die Anwendung, wir Sie können die geladene Konfigurationsdatei im Protokoll sehen:
2019-01-30 15:25:18.216 INFO 96958 --- [ main] o.s.c.a.n.c.NacosPropertySourceBuilder : Loading nacos data, dataId: 'alibaba-nacos-config-client-DEV.properties', group: 'DEFAULT_GROUP'
Die Verwendung von Group zur Implementierung von
Group ist ein wichtiges Konzept, das in Nacos für die Sammlungsverwaltung von Daten-IDs verwendet wird. Wenn wir also die Konfiguration einer Umgebung als einen Satz betrachten, können wir ein Konfigurationsmanagement verschiedener Umgebungen erreichen. Es gibt keine festen Vorschriften für die Verwendung von Group. Wenn wir sie also tatsächlich verwenden, müssen wir sie entsprechend unseren spezifischen Anforderungen anpassen. Dies kann die Verwaltung mehrerer Umgebungen im Hinblick auf den Betrieb und die Wartung der Architektur oder die Parameterverwaltung verschiedener Module sein im Geschäft. Um Konflikte zu vermeiden, müssen wir zu Beginn des Architekturentwurfs bestimmte Pläne erstellen. Lassen Sie uns hier zunächst über die spezifische Implementierung der Verwendung von Group zur Implementierung des Konfigurationsmanagements für mehrere Umgebungen sprechen.
Probieren Sie es selbst aus
Schritt eins: Erstellen Sie zunächst in Nacos den Konfigurationsinhalt von zwei verschiedenen Umgebungen, indem Sie die Gruppe unterscheiden. Beispiel:
Wie oben gezeigt, haben wir zwei unabhängige Konfigurationen der DEV-Umgebung und der TEST-Umgebung für die Anwendung alibaba-nacos-config-client definiert. Diese beiden Übereinstimmungen unterscheiden sich von der vorherigen Methode Die Daten-IDs sind genau gleich, nur die GRUPPE ist unterschiedlich.
Schritt 2: Fügen Sie in der Konfigurationsdatei der alibaba-nacos-config-client-Anwendung die angegebene Konfiguration der Gruppe hinzu: spring.cloud.nacos.config.group=DEV_GROUP
Schritt 3 : Starten Sie die Anwendung. Wir können die geladene Konfigurationsdatei im Protokoll sehen:
2019-01-30 15:55:23.718 INFO 3216 --- [main] o.s.c.a.n.c.NacosPropertySourceBuilder : Loading nacos data, dataId: 'alibaba-nacos-config-client.properties', group: 'DEV_GROUP'
Namespace zur Implementierung verwenden
Namespace sollte zum ersten Mal in dieser Reihe von Tutorials erscheinen. Werfen wir zunächst einen Blick auf die offizielle Konzeptbeschreibung: Wird für die mandantengranulare Konfigurationsisolierung verwendet. Konfigurationen derselben Gruppe oder Daten-ID können in verschiedenen Namespaces vorhanden sein. Eines der häufigsten Szenarios von Namespace ist die Differenzierung und Isolierung von Konfigurationen in verschiedenen Umgebungen, beispielsweise die Isolierung von Ressourcen (z. B. Konfigurationen und Diensten) zwischen Entwicklungs- und Testumgebungen und Produktionsumgebungen.
In der offiziellen Einleitung wird vorgestellt, dass es zur Umweltisolierung verwendet werden kann. Probieren wir es aus!
Probieren Sie es selbst aus
Schritt eins: Erstellen Sie zunächst mehrere Namespaces basierend auf dem Umgebungsnamen in Nacos. Beispiel:
Schritt 2: Oben in der Konfigurationsliste können Sie sehen, dass neben „Öffentlich“ noch mehrere weitere gerade erstellte Namepsaces vorhanden sind. Erstellen Sie Konfigurationsinhalte für die Anwendung alibaba-nacos-config-client in den Bereichen DEV und TEST:
Schritt 3: Fügen Sie in der Konfigurationsdatei der alibaba-nacos-config-client-Anwendung die angegebene Konfiguration des Namespace hinzu, zum Beispiel: spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a .
Hier ist zu beachten, dass bei der Namespace-Konfiguration nicht der Name, sondern die ID des Namespace verwendet wird.
Schritt 4: Starten Sie die Anwendung und überprüfen Sie, ob der zurückgegebene Inhalt korrekt ist, indem Sie auf die Schnittstelle localhost:8001/test zugreifen. Auf diese Weise gibt die aktuelle Version des Protokolls keine Informationen zum Namespace aus und kann daher nicht als Grundlage für die Bestimmung des zu ladenden Inhalts verwendet werden.
Tief nachdenken
Oben haben wir verschiedene Dimensionen in der Nacos-Konfigurationsverwaltungsfunktion verwendet, um ein Konfigurationsmanagement für mehrere Umgebungen zu erreichen. In Bezug auf die Ergebnisse kann die verwendete Methode den Anforderungen gerecht werden, aber welche ist die beste?
Der erste Typ: realisiert durch Daten-ID und Profil.
Vorteile: Diese Methode ist der Implementierung von Spring Cloud Config sehr ähnlich. Benutzer, die Spring Cloud Config verwendet haben, können ohne Bedenken darauf umsteigen. Da die Namensregeln ähnlich sind, müssen sie übernommen werden Die Migration von Spring Cloud Config ist ebenfalls sehr einfach.
Nachteile: Diese Methode macht den Konfigurationsinhalt sehr verwirrend, wenn es viele Projekte und Umgebungen gibt. In der Konfigurationsliste werden verschiedene Anwendungen angezeigt, und die Konfigurationen verschiedener Umgebungen sind miteinander verflochten, was für die Verwaltung sehr ungünstig ist.
Vorschlag: Verwenden Sie es, wenn das Projekt klein ist, oder Sie können es mit der Gruppe kombinieren, um eine getrennte Planung des Projekts entsprechend der Geschäfts- oder Organisationsstruktur durchzuführen.
Zweiter Typ: implementiert durch Gruppe.
Vorteile: Die Konfiguration jeder Anwendung ist durch die Gruppe nach Umgebung isoliert. Es ist sehr praktisch, die Suchfunktion von Daten-ID und Gruppe zu verwenden, um die Konfiguration anhand des Anwendungsspielraums bzw. des Umgebungsspielraums anzuzeigen.
Nachteile: Da es den Gruppenspielraum einnimmt, müssen Sie die Verwendung der Gruppe planen. Schließlich kann es zu Konflikten mit einigen Konfigurationsgruppen im Unternehmen kommen.
Vorschlag: Obwohl diese Methode strukturell besser ist als die vorherige, kann sie dennoch zu Verwirrung führen. Die Hauptsache ist, das Management der Gruppe zu planen und zu kontrollieren.
Die dritte Methode: über Namespace.
Vorteile: Die offiziell empfohlene Methode verwendet Namespace, um verschiedene Umgebungen zu unterscheiden, wodurch die Freiheit der Gruppe freigegeben wird, sodass sich die Verwendung von Group auf die Gruppenverwaltung auf Geschäftsebene konzentrieren kann. Gleichzeitig werden Namespaces auch in Gruppen auf der Nacos-Steuerungsseite angezeigt. Verschiedene Umgebungskonfigurationen können ohne Suche isoliert werden, was sehr einfach zu verwenden ist.
Nachteile: Es gibt keine Mängel. Möglicherweise führt es ein weiteres Konzept ein und erfordert, dass Benutzer es verstehen.
Vorschlag: Wenn Sie diese Methode direkt anwenden, ersparen Sie sich auf lange Sicht Sorgen. Obwohl es für ein kleines Team möglicherweise nicht viele Projekte gibt, reichen die erste und zweite Methode aus, aber was ist, wenn es später größer wird?
Hinweis: Egal welche Methode verwendet wird. Führen Sie für die Konfiguration der angegebenen Umgebung (spring.profiles.active=DEV, spring.cloud.nacos.config.group=DEV_GROUP, spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a) Folgendes aus Konfigurieren Sie es nicht in den Bootstrap.properties der Anwendung. Verwenden Sie stattdessen -Dspring.profiles.active=DEV, um es dynamisch im Startbefehl des Release-Skripts anzugeben, was flexibler ist!
Das obige ist der detaillierte Inhalt vonZusammenfassung der Methoden zur Konfiguration des Multi-Umgebungsmanagements in Nacos (detaillierte Schritte). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!