Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 32919|Antwoord: 0

[Bron] [Architectuur]. net/c# implementeert gedistribueerde configuratie van Key/Value-opslag gebaseerd op Consul

[Link kopiëren]
Geplaatst op 16-10-2020 18:18:06 | | | |
In gedistribueerde applicaties is het vaak nodig om configuratie-eigenschappen aan te passen, zoals het bijwerken van databaseverbindingsstrings en het bijwerken van cacheadressen. Als er niet veel applicaties zijn, kun je deze handmatig aanpassen; zodra er veel applicaties zijn, is gedistribueerde configuratie erg belangrijk, dit artikel legt de Key/Value opslagarchitectuur van .net/c# uit op basis van Consul om gedistribueerde configuratie te implementeren.

Consul installeren

Korte introductie

Consul is een tool voor het ontdekken en registreren van diensten die gedistribueerd en zeer schaalbaar is.

Consul omvat voornamelijk de volgende functies:

  • Service discovery: Ondersteuning voor serviceregistratie en -ontdekking voor zowel HTTP- als DNS-protocollen.
  • Monitoringcontroles: Ondersteunt meerdere gezondheidscontroles.
  • Key/Value Storage: Ondersteunt gedistribueerde KV-gegevensopslag via HTTP API.
  • Multi-datacenter ondersteuning: Een willekeurig aantal datacenters wordt ondersteund.


Installatie

Downloadadres:

De hyperlink-login is zichtbaar.

Dit artikel gebruikt Windows 10 x64 als testomgeving.

Na het downloaden en uitpakken van het uitvoeren met het cmd-commando, is de code als volgt:



dev betekent draaien in ontwikkelmodus, en de parameter -client kan worden gebruikt om aan te geven welk IP de client mag benaderen, bijvoorbeeld, -client 127.0.0.1 betekent dat het gebruikt kan worden, en in ontwikkelmodus worden gegevens niet behouden.

(ontwikkelaarmodus, clustermodus wordt aanbevolen voor productieomgevingen)



Toegang:http://127.0.0.1:8500/ui/dc1/servicesZie hieronder:



KV-interface

API-documentatieadres:

De hyperlink-login is zichtbaar.

Eerst gebruik ik een online webpagina en maak ik een nieuw sleutel/waarde-par.

Krijg de waarde via het GET-verzoek /v1/kv/:key-pad.

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



[
    {
        "LockIndex": 0,
        "Sleutel": "test",
        "Vlaggen": 0,
        "Waarde": "aXRzdnNlLmNvbQ==",
        "CreateIndex": 194,
        "ModifiifyIndex": 194
    }
]


  • CreateIndex is een interne indexwaarde die aangeeft wanneer de vermelding is aangemaakt.
  • ModifyIndex is de laatste index die deze sleutel aanpast. Deze index komt overeen met de headerwaarde die door X-Consul-Index in het antwoord wordt teruggegeven, en kan worden ingesteld door ? De index queryparameter wordt gebruikt om blokkerende queries op te stellen. Je kunt zelfs blokkeringsqueries uitvoeren op de hele subboom van de KV-store: wat als? recurse levert een query, en de teruggegeven waarde X-Consul-Index komt overeen met de laatste waarde van ModifyIndex in het voorvoegsel; met de blokkerende query ?index wacht het tot een sleutel in dat voorvoegsel is bijgewerkt.
  • LockIndex is het aantal keren dat de sleutel in het slot succesvol is verkregen. Als het slot wordt vastgehouden, zal de Sessie-sleutel de sessie aangeven die het slot bezit.
  • De sleutel is gewoon het volledige pad van de invoer.
  • Vlaggen zijn ondoorzichtige, niet-ondertekende gehele getallen die aan elke invoer kunnen worden toegevoegd. Klanten kunnen ervoor kiezen om deze optie te gebruiken, maar het is logisch voor hun toepassing.
  • Value is een base64-gecodeerde blob van data.


.NET/C# Sleutel/Waarde lezen en schrijven

Maak eerst een .NET 4.6.1-project aan en gebruik nuget om de benodigde pakketten te installeren, als volgt:



De code is als volgt:



De renderings zijn als volgt:



  • De sleutelsleutel is hoofdlettergevoelig
  • Duplicaat sleutel, waardewaarden worden overschreven


(Einde)




Vorig:Tien jaar lang .NET-programma's debuggen met Notepad thuis op een computer
Volgend:Architectuur: ASP.NET Core configureert dynamisch hot updates op basis van Consul
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com