I distribuerte applikasjoner er det ofte nødvendig å endre konfigurasjonsegenskaper, som å oppdatere databaseforbindelser og oppdatere cache-adresser. Hvis det ikke er mange applikasjoner, kan du manuelt endre dem, når det er mange applikasjoner, er distribuert konfigurasjon veldig viktig, denne artikkelen forklarer Key/Value-lagringsarkitekturen til .net/c# basert på Consul for å implementere distribuert konfigurasjon.
Installer Consul
Kort introduksjon
Consul er et verktøy for tjenesteoppdagelse og registrering som er distribuert og svært skalerbart.
Consul inkluderer hovedsakelig følgende funksjoner:
- Tjenesteoppdagelse: Støtte for tjenesteregistrering og oppdagelse for både HTTP- og DNS-protokoller.
- Overvåkingskontroller: Støtter flere helsesjekker.
- Key/Value Storage: Støtter distribuert KV-datalagring via HTTP API.
- Støtte for flere datasentre: Et hvilket som helst antall datasentre støttes.
Installasjon
Nedlastingsadresse:
Innloggingen med hyperkoblingen er synlig.
Denne artikkelen bruker Windows 10 x64 som testmiljø.
Etter nedlasting og utpakking, kjør det med cmd-kommandoen, koden er som følger:
dev betyr å kjøre i utviklingsmodus, og parameteren -klient kan brukes til å spesifisere hvilken IP klienten kan få tilgang til, for eksempel betyr -klient 127.0.0.1 at den kan brukes, og i utviklingsmodus vil ikke data bli lagret.
(utviklingsmodus, cluster-modus anbefales for produksjonsmiljøer)
Tilgang:http://127.0.0.1:8500/ui/dc1/servicesSe nedenfor:
KV-grensesnitt
API-dokumentasjonsadresse:
Innloggingen med hyperkoblingen er synlig.
Først bruker jeg en nettbasert nettside og lager et nytt nøkkel-/verdipar.
Få verdien via GET-forespørselen /v1/kv/:key-stien.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Nøkkel": "test", "Flagg": 0, "Verdi": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex er en intern indeksverdi som representerer når oppføringen ble opprettet.
- ModifyIndex er den siste indeksen som endrer denne nøkkelen. Denne indeksen tilsvarer headerverdien returnert av X-Consul-Index i svaret, og kan settes av ? Indeksspørringsparameteren brukes for å etablere blokkeringsforespørsler. Du kan til og med utføre blokkeringsforespørsler mot hele deltreet i KV-butikken: hva om? recurse gir en spørring, og den returnerte verdien X-Consul-Index tilsvarer den siste verdien i ModifyIndex i prefikset, og bruk av blokkeringsspørringen ?index vil vente til en nøkkel i det prefikset er oppdatert.
- LockIndex er antall ganger nøkkelen i låsen har blitt tilegnet med suksess. Hvis låsen holdes, vil Sesjonsnøkkelen gi sesjonen som eier låsen.
- Nøkkelen er bare hele veien til oppføringen.
- Flagg er ugjennomsiktige, usignerte heltall som kan festes til hver oppføring. Kunder kan velge å bruke dette alternativet, men det gir mening for deres bruksområde.
- Value er en base64-kodet datablob.
.NET/C# Nøkkel/Verdi leser og skriver
Først, lag et .NET 4.6.1-prosjekt og bruk nuget til å installere nødvendige pakker, som følger:
Koden er som følger:
Gjengivelsene er som følger:
- Nøkkelnøkkelen er kasus-sensitiv
- Duplikatnøkkel, verdiverdier vil bli overskrevet
(Slutt) |