ASP.NET Core Microservices implementiert, müssen Sie das Problem des Konfigurationszentrums angehen. Egal, ob es sich um einen Microservice handelt oder nicht, es ist sehr umständlich, die Konfigurationsdatei einzeln mit mehr Knoten zu ändern, und heute werde ich eine Lösung für ein leichtes Konfigurationszentrum auf Basis von Consul vorstellen. Heiße Updates von Profilen werden ohne Neuverbreitung durchgeführt.
Hintergrund
Typischerweise werden Konfigurationen in .NET-Anwendungen in Konfigurationsdateien wie App.config, Web.config oder appsettings.json gespeichert. Beginnend mit ASP.Net Core entstand ein neues erweiterbares Konfigurationsframework, das es ermöglichte, Konfigurationen außerhalb der Konfigurationsdateien zu speichern und aus der Kommandozeile, Umgebungsvariablen und mehr abzurufen.
In traditionellen Projekten erfordert die Änderung von Konfigurationsdateien eine Anmeldung in die Produktionsumgebung zur Änderung, was für Wartung und Verwaltung bei vielen Projekten nicht bequem ist.
Daher nutzen wir Consul, um online in Echtzeit zu konfigurieren, was das Ziel erreicht, in Echtzeit zu reagieren, indem nur die Konfiguration geändert wird, ohne den Service neu zu starten. Die Implementierungsidee basiert auf dem Schlüssel/Wert von Consul, und mehrere Consul-Knoten können automatisch synchronisiert und konfiguriert werden; unser Programm ist es, ConfigurationProvider zu implementieren und auf Consul-Änderungen zu hören.
Konsul-Konfiguration
Für Download und Installation können Sie nachschlagen:
ASP.NET Kernkonfiguration
Zuerst installieren Sie das nuget-Paket mit folgendem Befehl:
Ändern Sie die Program.cs-Datei mit folgendem Code:
Weitere Informationen zur Konfiguration finden Sie bitte:
Der Hyperlink-Login ist sichtbar.
Konfigurieren Sie die Adresse des Consul-Servicezentrums und ändern Sie die appsettings.json-Datei wie folgt:
Der Controller-Code ist wie folgt:
Starten Sie das Projekt wie unten gezeigt:
Da wir bei Consul den Testwert nicht konfigurieren, ist der Abruf leer.
Öffnen Sie esDer Hyperlink-Login ist sichtbar.Konfigurieren Sie die für das Projekt benötigten Dateien.
Die vom Projekt gelesene Profiladresse lautet:
"/WebApplication1/appsettings. Development.json" Deshalb müssen wir einen neuen Ordner "WebApplication1" und "appsettings" erstellen. Development.json" Datei wie unten gezeigt:
Der Wert ist wie folgt:
Nach dem Speichern aktualisieren wir die Website wie unten gezeigt:
Chinesische Zeichen ohne Probleme getestet, wie unten gezeigt:
Es ist zu erkennen, dass der Wert des Tests erfolgreich ermittelt wird, wodurch die dynamische Konfigurationsfunktion realisiert wird, und die Konfigurationsdatei ohne Neustart der Website hot-aktualisiert wird. |