Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 32919|Antwort: 0

[Quelle] [Architektur]. net/c# implementiert eine verteilte Konfiguration des Key/Value-Speichers basierend auf Consul

[Link kopieren]
Veröffentlicht am 16.10.2020, 18:18:06 | | | |
In verteilten Anwendungen ist es oft notwendig, Konfigurationseigenschaften zu ändern, wie das Aktualisieren von Datenbank-Verbindungsstrings und das Aktualisieren von Cache-Adressen. Wenn es nicht viele Anwendungen gibt, kann man sie manuell modifizieren; sobald es viele Anwendungen gibt, ist die verteilte Konfiguration sehr wichtig. Dieser Artikel erklärt die Key/Value-Speicherarchitektur von .net/c# basierend auf Consul, um verteilte Konfigurationen zu implementieren.

Konsul installieren

Kurze Einführung

Consul ist ein Tool zur Service-Entdeckung und -registrierung, das verteilt und hoch skalierbar ist.

Konsul umfasst hauptsächlich folgende Merkmale:

  • Service-Discovery: Unterstützung für Service-Registrierung und -Discovery sowohl für HTTP- als auch für DNS-Protokolle.
  • Überwachungsprüfungen: Unterstützt mehrere Gesundheitschecks.
  • Key/Value Storage: Unterstützt verteilte KV-Datenspeicherung über die HTTP-API.
  • Unterstützung für mehrere Rechenzentren: Beliebig viele Rechenzentren werden unterstützt.


Installation

Adresse herunterladen:

Der Hyperlink-Login ist sichtbar.

Dieser Artikel verwendet Windows 10 x64 als Testumgebung.

Nach dem Herunterladen und Entpacken wird es mit dem cmd-Befehl ausgeführt und der Code lautet wie folgt:



dev bedeutet, im Entwicklungsmodus zu laufen, und der Parameter -Client kann verwendet werden, um anzugeben, auf welche IP der Client zugreifen darf, zum Beispiel bedeutet -Client 127.0.0.1, dass er verwendet werden kann, und im Entwicklungsmodus werden die Daten nicht gespeichert.

(Entwicklungsmodus, Cluster-Modus wird für Produktionsumgebungen empfohlen)



Zugang:http://127.0.0.1:8500/ui/dc1/servicesSiehe unten:



KV-Schnittstelle

API-Dokumentationsadresse:

Der Hyperlink-Login ist sichtbar.

Zuerst nutze ich eine Online-Webseite und erstelle ein neues Schlüssel-/Wert-Paar.

Erhalten Sie den Wert über den GET-Anfragepfad /v1/kv/:key.

http://127.0.0.1:8500/v1/kv/test



[
    {
        "LockIndex": 0,
        "Schlüssel": "Test",
        "Flaggen": 0,
        "Value": "aXRzdnNlLmNvbQ==",
        "CreateIndex": 194,
        "ModifyIndex": 194
    }
]


  • CreateIndex ist ein interner Indexwert, der angibt, wann der Eintrag erstellt wurde.
  • ModifyIndex ist der letzte Index, der diesen Schlüssel ändert. Dieser Index entspricht dem von X-Consul-Index in der Antwort zurückgegebenen Kopfwert und kann durch ? gesetzt werden. Der Index Query-Parameter wird verwendet, um Blockanfragen zu etablieren. Man kann sogar Blockierungsabfragen gegen den gesamten Unterbaum des KV-Stores durchführen: Was wäre wenn? recurse stellt eine Abfrage bereit, und der zurückgegebene Wert X-Consul-Index entspricht dem neuesten Wert von ModifyIndex im Präfix; mit der blockierenden Abfrage ?index wird gewartet, bis ein Schlüssel in diesem Präfix aktualisiert wurde.
  • LockIndex ist die Anzahl der Male, in denen der Schlüssel im Schloss erfolgreich erworben wurde. Wenn das Schloss gehalten wird, liefert der Session-Schlüssel die Sitzung, die das Schloss besitzt.
  • Der Schlüssel ist einfach der vollständige Pfad des Eintrags.
  • Flags sind undurchsichtige, unsignierte Ganzzahlen, die jedem Eintrag angehängt werden können. Kunden können diese Option wählen, aber sie ist für ihre Anwendung sinnvoll.
  • Value ist ein base64-codierter Datenblob.


.NET/C# Schlüssel/Wert lesen und schreiben

Erstellen Sie zunächst ein .NET 4.6.1-Projekt und verwenden Sie nuget, um die notwendigen Pakete wie folgt zu installieren:



Der Code lautet wie folgt:



Die Darstellungen sind wie folgt:



  • Der Schlüsselschlüssel ist groß- und kleinschreibungsabhängig
  • Duplikater Schlüssel, Wertwerte werden überschrieben


(Ende)




Vorhergehend:Zehn Jahre lang .NET-Programme mit Notepad zu Hause am Computer debuggen
Nächster:Architektur: ASP.NET Core konfiguriert dynamische Hot-Updates basierend auf Consul
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com