V distribuiranih aplikacijah je pogosto potrebno spreminjati konfiguracijske lastnosti, kot so posodabljanje nizov povezav z bazo podatkov in posodabljanje naslovov predpomnilnika. Če ni veliko aplikacij, jih lahko ročno prilagodite; ko je aplikacij veliko, je porazdeljena konfiguracija zelo pomembna; ta članek pojasnjuje arhitekturo shranjevanja ključev/vrednosti .net/c#, ki temelji na Consulu za implementacijo distribuirane konfiguracije.
Postavite Consul
Kratek uvod
Consul je orodje za odkrivanje in registracijo storitev, ki je distribuirano in zelo razširljivo.
Konzul vključuje predvsem naslednje značilnosti:
- Odkrivanje storitev: Podpora za registracijo in odkrivanje storitev za HTTP in DNS protokole.
- Spremljanje pregledov: Podpira več zdravstvenih pregledov.
- Shranjevanje ključev/vrednost: Podpira porazdeljeno shranjevanje KV podatkov prek HTTP API-ja.
- Podpora za večpodatkovne centre: Podprtih je poljubno število podatkovnih centrov.
Namestitev
Naslov za prenos:
Prijava do hiperpovezave je vidna.
Ta članek uporablja Windows 10 x64 kot testno okolje.
Po prenosu in razpakiranju ga zaženite z ukazom cmd, koda je naslednja:
dev pomeni delovanje v razvojnem načinu, parameter -client pa se lahko uporabi za določitev, kateri IP naslov je dovoljen odjemalcu, na primer -client 127.0.0.1 pomeni, da se lahko uporablja, v razvojnem načinu pa podatki ne bodo shranjeni.
(razvojni način, grozdni način je priporočljiv za produkcijska okolja)
Dostop:http://127.0.0.1:8500/ui/dc1/servicesGlej spodaj:
KV vmesnik
Naslov dokumentacije API:
Prijava do hiperpovezave je vidna.
Najprej uporabim spletno stran in ustvarim nov par ključ/vrednost.
Vrednost dobiš preko GET zahteve /v1/kv/:key path.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Ključ": "preizkus", "Zastave": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex je notranja indeksna vrednost, ki predstavlja, kdaj je bil vnos ustvarjen.
- ModifyIndex je zadnji indeks, ki spreminja ta ključ. Ta indeks ustreza vrednosti glave, ki jo v odgovoru vrne X-Consul-Index, in ga lahko nastavimo z ? parameter poizvedbe indeksa se uporablja za vzpostavitev blokovnih poizvedb. Lahko celo izvajate poizvedbe za blokiranje celotnega poddrevesa KV trgovine: kaj pa če? rekurziva zagotavlja poizvedbo, vrnjena vrednost X-Consul-Index pa ustreza najnovejši vrednosti ModifyIndex v predponi, pri čemer bo z uporabo blokirne poizvedbe ?index počakal, dokler se kateri koli ključ v tej predponi ne posodobi.
- LockIndex je število uspešnih pridobitev ključa v ključavnici. Če je ključavnica zadržana, bo ključ Session zagotovil sejo, ki je lastnica ključavnice.
- Ključ je le celotna pot vnosa.
- Zastavice so neprosojna, neoznačena cela števila, ki jih je mogoče pritrditi vsakemu vnosu. Stranke lahko izberejo to možnost, vendar je smiselna za njihovo aplikacijo.
- Vrednost je base64 kodirana skupa podatkov.
.NET/C# Branje in pisanje ključ/vrednost
Najprej ustvarite .NET projekt 4.6.1 in uporabite nuget za namestitev potrebnih paketov, kot sledi:
Koda je naslednja:
Upodobitve so naslednje:
- Ključ je občutljiv na velike in velike črke
- Podvojeni ključ, vrednosti vrednosti bodo prepisane
(Konec) |