Dieser Artikel bietet Ihnen eine Einführung in vier Methoden zur Verarbeitung von Parametern in verteilten Systemen. Ich hoffe, dass er Ihnen als Referenz dienen wird.
Ein System enthält verschiedene Konfigurationsinformationen. Beispielsweise muss eine Protokolldatei die folgenden Informationen konfigurieren.
Hauptverzeichnis für die Protokolldateigenerierung
Name der Protokolldatei, unterschiedliche Protokollebenen entsprechen unterschiedlichen Dateien
Aktuelle Protokollebene
Es gibt auch verschiedene andere Geschäftsparameter, Systemparameter usw. Die meisten Einzelsysteme schreiben diese Konfigurationen direkt in die Konfigurationsdatei, wenn sie zum Testen bereitgestellt werden Ändern Sie in der Produktionsumgebung die Konfigurationsdatei. Dies kann leicht zu Fehlern führen und kann nicht flexibel geändert werden. Nachdem das System zu einem verteilten System geworden ist, gibt es außerdem immer mehr Subsysteme und es wird für Sie immer schwieriger, diese Konfigurationen aufrechtzuerhalten.
Ich denke, Sie müssen in der Lage sein, mindestens die folgenden Probleme zu lösen, um als ausgezeichnet zu gelten!
1) Möglichkeit, Konfigurationen flexibel online zu ändern
2) Möglichkeit, Konfigurationen online dynamisch zu aktualisieren
3) Möglichkeit, Konfigurationen entsprechend verschiedenen Umgebungen zu konfigurieren
4) Kann Konfigurationen auf einheitliche Weise verwalten und warten
Wie können diese Konfigurationen also flexibel verwaltet werden? Ich habe für Sie einige Methoden zusammengefasst, auf die Sie je nach Anwendungsgebiet zurückgreifen können.
Alle Parameter in der Datenbank speichern und beim Systemstart in den Speicher laden.
Diese Implementierungsmethode ist relativ einfach, erfordert jedoch Datenbankressourcen. Diese Methode kann verwendet werden, wenn das System einfach und der Druck gering ist.
Verwenden Sie das maven-resources-plugin
-Plug-in und stellen Sie dann Konfigurationsdateien für verschiedene Umgebungen (Profile) bereit Umgebungen werden in der Verpackungsphase verarbeitet. Es ist entschieden.
Dies löst nur das Problem der Konfigurationen auf verschiedenen Betriebssystemen und kann nicht flexibel und dynamisch geändert werden. Jedes Update kann die Konfigurationsdatei nur online neu packen oder ändern, und die Informationen sind auch schwierig zu synchronisieren Es gibt nur wenige Projekte, aber es gibt viele Projekte. Die Konfiguration muss häufig geändert werden, was äußerst umständlich wird.
Sie können den Eigenschaftswert auf die Umgebungsvariable festlegen, ihn dann lesen und auf die Java-Systemeigenschaft festlegen. Dadurch kann der Zweck der Unterscheidung verschiedener Umgebungen erreicht werden, die Konfiguration kann jedoch immer noch nicht dynamisch aktualisiert werden. Das Konfigurieren und Verwalten von Umgebungsvariablen ist recht mühsam und in verteilten Systemen ein sehr lästiges Problem.
// 读取环境变量 java.lang.System#getenv(java.lang.String) // 设置系统属性 java.lang.System#setProperty
Mit dieser Methode können Sie auf einige globale Systemkonfigurationen verweisen, z. B. Protokolle, Caches, temporäre Verzeichnisse usw. Alle gängigen Protokollierungssysteme unterstützen das Lesen von Konfigurationen aus Systemeigenschaften. Es wird nicht empfohlen, einige andere Konfigurationen in Umgebungsvariablen zu speichern.
1) Derzeit sind die meisten verteilten Konfigurationscenter auf Basis von Zookeeper implementiert und verfügen alle über eigene Konfigurationscenter-Komponenten, die alle dynamische Online-Updates und Aktualisierungen unterstützen Konfiguration.
2) Speichern Sie die Konfiguration direkt in der Datenbank, wenn die Systemparallelität gering ist oder es sich um ein Verwaltungssystem handelt. Für Anwendungen mit hoher Parallelität wird die Verwendung der Datenbank nicht empfohlen Das Konfigurationscenter bringt schließlich Zugriffsdruck und Implementierung mit sich. Die dynamische Aktualisierung der Konfiguration ist ebenfalls komplizierter.
Dies sind die 4 Konfigurationsmethoden, die wir derzeit anwenden. Natürlich ist das Konfigurationscenter die beste Lösung und löst auch die oben genannten Probleme, es muss jedoch auf Middleware und deren hohe Verfügbarkeit angewiesen sein .
Das obige ist der detaillierte Inhalt vonEinführung in vier Methoden zur Handhabung der Parameterkonfiguration in verteilten Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!