Paskirstytose programose dažnai reikia keisti konfigūracijos ypatybes, pvz., atnaujinti duomenų bazės ryšio eilutes ir atnaujinti talpyklos adresus. Jei programų nėra daug, galite jas rankiniu būdu modifikuoti, kai yra daug programų, paskirstyta konfigūracija yra labai svarbi, šiame straipsnyje paaiškinama .net/c# raktų / vertės saugojimo architektūra, pagrįsta Consul, kad būtų galima įgyvendinti paskirstytą konfigūraciją.
Įdiekite konsulą
Trumpas įvadas
Konsulas yra paslaugų atradimo ir registravimo įrankis, kuris yra platinamas ir labai keičiamas.
Konsulas daugiausia apima šias funkcijas:
- Paslaugų aptikimas: HTTP ir DNS protokolų paslaugų registravimo ir aptikimo palaikymas.
- Stebėjimo patikrinimai: palaiko kelis būklės patikrinimus.
- Raktų / reikšmių saugykla: palaiko paskirstytą KV duomenų saugyklą per HTTP API.
- Kelių duomenų centrų palaikymas: palaikomas bet koks duomenų centrų skaičius.
Diegimo
Parsisiųsti adresą:
Hipersaito prisijungimas matomas.
Šiame straipsnyje naudojama "Windows 10 x64" kaip bandomoji aplinka.
Atsisiuntę ir išpakavę paleiskite jį naudodami komandą cmd, kodas yra toks:
dev reiškia veikimą kūrimo režimu, o parametras -client gali būti naudojamas norint nurodyti, kokį IP gali pasiekti klientas, pavyzdžiui, -client 127.0.0.1 reiškia, kad jis gali būti naudojamas, o kūrimo režimu duomenys nebus išlikę.
(kūrimo režimas, klasterio režimas rekomenduojamas gamybos aplinkoms)
Prieiga:http://127.0.0.1:8500/ui/dc1/servicesŽiūrėkite žemiau:
KV sąsaja
API dokumentacijos adresas:
Hipersaito prisijungimas matomas.
Pirma, aš naudoju internetinį tinklalapį ir sukurti naują rakto / vertės porą.
Gaukite reikšmę naudodami GET užklausos /v1/kv/:key kelią.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Raktas": "testas", "Vėliavos": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifikuotiIndeksas": 194 }
]
- CreateIndex yra vidinė indekso reikšmė, nurodanti, kada įrašas buvo sukurtas.
- ModifyIndex yra paskutinis indeksas, modifikuojantis šį raktą. Šis indeksas atitinka antraštės reikšmę, kurią atsakyme pateikia X-Consul-Index, ir gali būti nustatytas ? Indekso užklausos parametras naudojamas blokuojančioms užklausoms nustatyti. Jūs netgi galite atlikti blokavimo užklausas visam KV parduotuvės pomedžiui: kas būtų, jeigu? recurse pateikia užklausą, o grąžinta reikšmė X-Consul-Index atitinka naujausią ModifyIndex reikšmę priešdėlyje, naudojant blokavimo užklausą ?index lauks, kol bus atnaujintas bet kuris to priešdėlio raktas.
- LockIndex yra sėkmingo užrakto rakto įsigijimo kartų skaičius. Jei užraktas sulaikytas, seanso raktas pateiks seansą, kuriam priklauso užraktas.
- Raktas yra tik visas įrašo kelias.
- Vėliavėlės yra nepermatomi nepasirašyti sveikieji skaičiai, kuriuos galima pridėti prie kiekvieno įrašo. Klientai gali pasirinkti naudoti šią parinktį, tačiau ji yra prasminga jų taikymui.
- Reikšmė yra base64 užkoduota duomenų blob.
.NET/C# raktas/reikšmė skaitymas ir rašymas
Pirmiausia sukurkite .NET 4.6.1 projektą ir naudokite nuget, kad įdiegtumėte reikiamus paketus, kaip nurodyta toliau:
Kodas yra toks:
Atvaizdai yra tokie:
- Pagrindinis raktas yra didžiosios ir mažosios raidės
- Pasikartojantis raktas, reikšmių reikšmės bus perrašytos
(Pabaiga) |