Technologieaustausch

SpringCloudAlibaba Nacos-Konfigurationszentrum und Serviceerkennung

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Inhaltsverzeichnis

1.Konfiguration

1.1 Konfigurationsmerkmale

schreibgeschützt

Begleiten Sie den gesamten Lebenszyklus der Anwendung

Mehrere Lademethoden

Konfiguration erfordert Governance

1.2 Konfigurationscenter

2. Nacos-Einführung

2.1 Funktionen

Diensterkennung und Dienstzustandsprüfungen

Dynamisches Konfigurationsmanagement

Dynamischer DNS-Dienst

Service- und Metadatenverwaltung

3. Diensterkennung


1.Konfiguration

Anwendungen müssen beim Starten und Ausführen häufig einige Konfigurationsinformationen lesen. Die Konfiguration begleitet grundsätzlich den gesamten Lebenszyklus der Anwendung, z. B. Datenbankverbindungsparameter, Startparameter usw.

1.1 Konfigurationsmerkmale

schreibgeschützt

Es ist für Programmierer schreibgeschützt. Das Programm ändert sein Verhalten durch das Lesen der Konfiguration, das Programm sollte die Konfiguration jedoch nicht ändern.

Begleiten Sie den gesamten Lebenszyklus der Anwendung

Es wird durch Lesen der Konfiguration beim Start initialisiert und passt das Verhalten zur Laufzeit basierend auf der Konfiguration an. Beispielsweise muss beim Start die Portnummer des Dienstes gelesen werden und das System muss benutzerdefinierte Richtlinien lesen, um geplante Aufgaben während des Betriebs auszuführen.

Mehrere Lademethoden

Zu den häufigsten gehören Hardcode innerhalb des Programms, Konfigurationsdateien, Umgebungsvariablen, Startparameter, datenbankbasiert usw.

Konfiguration erfordert Governance

Dasselbe Programm benötigt unterschiedliche Konfigurationen in unterschiedlichen Umgebungen (Entwicklung, Tests, Produktion) und unterschiedlichen Clustern (z. B. unterschiedlichen Rechenzentren), sodass eine vollständige Umgebungs- und Clusterkonfigurationsverwaltung erforderlich ist.

1.2 Konfigurationscenter

Wenn in der Microservice-Architektur das System von einer einzelnen Anwendung in Serviceknoten auf dem verteilten System aufgeteilt wird, müssen die Konfigurationsdateien entsprechend migriert (getrennt) werden, damit die Konfiguration verteilt wird.

Das Konfigurationscenter trennt die Konfiguration von jeder Anwendung und verwaltet die Konfiguration auf einheitliche Weise. Die Anwendung selbst muss sie nicht selbst konfigurieren und verwalten.

2. Nacos-Einführung

Das Open-Source-Produkt von Alibaba ist eine umfassende Lösung für Serviceerkennung, Konfigurationsmanagement und Service-Governance in der Microservice-Architektur.

Offizielle Website:https://nocas.io/

2.1 Funktionen

Vier Hauptfunktionen

Diensterkennung und Dienstzustandsprüfungen

Nacos erleichtert Diensten die Registrierung und Erkennung anderer Dienste über DNS- oder HTTP-Schnittstellen. Nacos bietet außerdem eine Echtzeitprüfung von Diensten und verhindert so, dass Anfragen an fehlerhafte Hosts oder Dienstinstanzen gesendet werden.

Dynamisches Konfigurationsmanagement

Mit Dynamic Configuration Services können Sie die Konfiguration aller Dienste in allen Umgebungen zentral und dynamisch verwalten. Nacos macht eine erneute Bereitstellung von Anwendungen bei der Aktualisierung von Konfigurationen überflüssig, wodurch Konfigurationsänderungen effizienter und flexibler werden.

Definieren Sie automatisch die erweiterte Daten-ID-Konfiguration. Die interne Konfiguration hat die höchste Priorität: Je größer n in der erweiterten Daten-ID, desto höher die Priorität. Die Ladereihenfolge von bootstrap.yml hat Vorrang vor application.yml.

Schalten Sie die Konfiguration vollständig aus: Schalten Sie die Spring Cloud Nacos Config vollständig aus, indem Sie spring.cloud.nacos.config.enable=false festlegen.

Nacos können in Clustern eingesetzt werden.

Die @Value-Annotation ist eine vom Spring-Framework bereitgestellte Annotation. Sie wird verwendet, um den Wert in der Konfigurationsdatei abzurufen. Sie kann verwendet werden, um die Konfigurationselemente in jeder Konfigurationsdatei (z. B. application.properties, application.yml) abzurufen. Wenn Sie die Annotation @Value verwenden, müssen Sie den vollständigen Pfad des Konfigurationselements angeben, zum Beispiel: @Value("${config.key}").

nacos-Startbefehl (Windows): startup.cmd -m standalone

Öffnen Sie den Browser und geben Sie http://localhost:8848/nacos ein, um auf den Dienst zuzugreifen. Das Standardkontokennwort lautet nacos, nacos

Dynamischer DNS-Dienst

Nacos bietet auf dem DNS-Protokoll basierende Diensterkennungsfunktionen mit dem Ziel, die Diensterkennung in heterogenen Sprachen zu unterstützen und die Offenlegung von Endpunkten von bei Nacos registrierten Diensten in Form von Domänennamen zu unterstützen, sodass Anwendungen von Drittanbietern diese bequem überprüfen und entdecken können .

Service- und Metadatenverwaltung

Mit Nacos können Sie alle Dienste und Metadaten im Rechenzentrum aus der Perspektive des Aufbaus einer Microservice-Plattform verwalten, einschließlich Verwaltungsdienstbeschreibungen, Lebenszyklen, statischer Abhängigkeitsanalyse von Diensten, Dienstzustandsstatus, Dienstverkehrsverwaltung, Routing und Sicherheitsrichtlinien.

3. Diensterkennung

In der Microservice-Architektur ist das gesamte System basierend auf Verantwortlichkeiten und Fähigkeiten in mehrere Services unterteilt, und Geschäftsziele werden durch die Zusammenarbeit zwischen Services erreicht. Auf diese Weise müssen wir Remote-Aufrufe zwischen Diensten in unserem Code durchführen. Der Verbraucher des Dienstes muss den Ersteller des Dienstes anrufen, um eine Anfrage abzuschließen.Der Verbraucher muss den Netzwerkstandort des Diensterstellers kennen(IP-Adresse und Portnummer).

·