2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Ich habe bereits gelernt, Nacos als Registrierungszentrum zu verwenden. In diesem Abschnitt lernen wir eine weitere Kernfunktion von Nacos kennen:配置中心
。
Nacos ist eine benutzerfreundliche Plattform für dynamische Serviceerkennung und Konfigurationsmanagement. Als Konfigurationscenter bietet Nacos folgende Kernfunktionen und Vorteile:
Dynamisches Konfigurationsmanagement: Mit Nacos können Benutzer Konfigurationsinformationen dynamisch ändern und übertragen, ohne den Dienst neu starten zu müssen, wodurch Konfigurationsaktualisierungen in Echtzeit erreicht werden.
Konfigurieren Sie einen zentralen Speicher: Nacos bietet einen zentralen Konfigurationsspeicher, der die Verwaltung und Wartung von Konfigurationsinformationen erleichtert und das Problem der Verstreuung der Konfiguration in verschiedenen Umgebungen und Systemen vermeidet.
Konfigurieren Sie die Versionskontrolle: Nacos unterstützt die Konfigurationsversionskontrolle, die den Konfigurationsänderungsverlauf verfolgen und Rollback-Vorgänge erleichtern kann.
Konfigurieren Sie die Freigabe: Nacos ermöglicht die gemeinsame Nutzung von Konfigurationen zwischen Diensten, wodurch die Wiederverwendbarkeit von Konfigurationen verbessert und Redundanzen reduziert werden.
Isolation konfigurieren: Durch das Konzept des Namespace unterstützt Nacos die Konfigurationsisolation verschiedener Umgebungen (z. B. Entwicklung, Test und Produktion), um sicherzustellen, dass sich die Konfigurationen zwischen Umgebungen nicht gegenseitig beeinträchtigen.
Konfigurieren Sie Zuhören und Drücken: Nacos bietet eine Konfigurationsüberwachungsfunktion, um Aktualisierungen aktiv an den Client zu übertragen, um eine Hot-Aktualisierung der Konfiguration zu erreichen.
Sicherheit: Nacos unterstützt Konfigurationszugriffskontrolle und Berechtigungsverwaltung, um sicherzustellen, dass nur autorisierte Benutzer auf Konfigurationen zugreifen oder diese ändern können.
Unterstützung mehrerer Umgebungen: Nacos unterstützt eine Vielzahl von Bereitstellungsumgebungen und kann das Konfigurationsmanagement unterschiedlicher Größenordnungen und Anforderungen erfüllen.
Integrieren Sie mit Spring Cloud: Nacos ist eng in Spring Cloud integriert und bietet Spring-Cloud-Starter-Alibaba-Nacos-Config und andere Komponenten, wodurch der Prozess der Verwendung des Nacos-Konfigurationscenters in Spring Cloud-Anwendungen vereinfacht wird.
Benutzerfreundlichkeit: Nacos bietet eine benutzerfreundliche Benutzeroberfläche, die das Anzeigen, Ändern und Verwalten von Konfigurationen intuitiv und einfach macht.
Als Konfigurationszentrum eignet sich Nacos für Microservice-Architekturen, Cloud-native Anwendungen und verteilte Systeme, die ein dynamisches Konfigurationsmanagement erfordern. Durch die zentrale Verwaltung von Konfigurationen hilft Nacos Unternehmen dabei, die Effizienz und Sicherheit des Konfigurationsmanagements zu verbessern und gleichzeitig die Entwicklungs-, Betriebs- und Wartungsarbeiten zu vereinfachen.
Gebrauchsanweisungen sind in der offiziellen Dokumentation ausführlich aufgeführt. Klicken Sie hier, um die Dokumentation anzuzeigenhttps://nacos.io/zh-cn/docs/v2/ecology/use-nacos-with-spring-cloud.html。
Um das Konfigurationscenter nutzen zu können, müssen Sie zunächst Abhängigkeiten hinzufügen.
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
Da im Guli Mall-Projekt alle Dienste das Nacos-Konfigurationscenter verwenden müssen, wird diese Abhängigkeit zum gemeinsamen Modul hinzugefügt.
Deklarieren Sie im Ressourcenverzeichnis des Projekts oder Moduls die Adresse und den Dienstnamen des Nacos-Servers in bootstrap.properties.
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=gulimall-coupon
Nachdem Sie auf „Konfiguration erstellen“ geklickt haben, wird die folgende Seite angezeigt.
existieren Nacos Spring Cloud
Mitte,Data Id
Das vollständige Format lautet wie folgt:
${prefix}-${spring.profiles.active}.${file-extension}
prefix
Die Standardeinstellung istspring.application.name
Der Wert kann auch über das Konfigurationselement übergeben werdenspring.cloud.nacos.config.prefix
konfigurieren.spring.profiles.active
Das heißt, entsprechend der aktuellen Umgebungprofile
Weitere Informationen finden Sie in der Spring Boot-Dokumentation. Hinweis: wannspring.profiles.active
Wenn es leer ist, ist der entsprechende Connector nicht vorhanden und das Spleißformat von dataId wird${prefix}.${file-extension}
file-exetension
Um das Datenformat des Inhalts zu konfigurieren, können Sie das Konfigurationselement übergebenspring.cloud.nacos.config.file-extension
konfigurieren.Unterstützt derzeit nurproperties
Undyaml
Typ.Wir fügen die Informationen zunächst in die Projektkonfigurationsdatei ein und konfigurieren die folgenden Informationen in der Konfigurationsdatei application.properties des Coupon-Moduls:
coupon.user.name=lcy
coupon.age=22
Fügen Sie im Controller eine Methode hinzu, um die Konfigurationsinformationen in der Konfigurationsdatei zu verwenden.
@Value("${coupon.user.name}")
private String userName;
@Value("${coupon.user.age}")
private String userAge;
@RequestMapping("test")
public R test(){
return R.ok().put("name", userName).put("age", userAge);
}
Beachten Sie, dass wir im obigen Code die Konfiguration in der Konfigurationsdatei über die Annotation @Value in die Klassenvariable einfügen und dann in der Methode darauf verweisen.
Geben Sie nach dem Start des Dienstes die folgende Adresse in Ihren Browser ein.
http://localhost:7000/coupon/coupon/test
Die Ausgabe lautet wie folgt und zeigt an, dass die Informationen in der Konfigurationsdatei gelesen wurden.
Nehmen Sie den Coupon-Service als Beispiel für die Konfiguration.
Klicken Sie auf die Schaltfläche „Bearbeiten“ auf der rechten Seite der Liste der Konfigurationsdateien, um die Bearbeitungsoberfläche aufzurufen.
Beachten Sie, dass wir die lokale Konfiguration im vorherigen Schritt nicht gelöscht haben, um den Unterschied und die Verbindung zwischen der Konfigurationscenter-Konfigurationsdatei und der lokalen Konfigurationsdatei zu verdeutlichen.
Derzeit ist im Konfigurationscenter nur eine Konfiguration konfiguriert. Diese Konfiguration ist auch in der lokalen Konfiguration verfügbar, der Wert ist jedoch unterschiedlichcoupon.user.name=lcy
, das Konfigurationscenter istcoupon.user.name=lcy2
。
Aktualisieren Sie den Browser nach dem Neustart des Dienstes. Die Ergebnisse sind wie folgt.
Offensichtlich wird der Wert von name aus dem Konfigurationscenter und nicht aus der lokalen Konfigurationsdatei übernommen.Der Wert im Konfigurationscenter überschreibt den Wert in der lokalen Konfigurationsdatei.。