În aplicațiile distribuite, este adesea necesară modificarea proprietăților de configurare, cum ar fi actualizarea șirurilor de conexiuni la baza de date și actualizarea adreselor cache. Dacă nu există multe aplicații, le poți modifica manual; odată ce există mai multe aplicații, configurarea distribuită este foarte importantă, acest articol explică arhitectura de stocare cheie/valoare a .net/c# bazată pe Consul pentru a implementa configurarea distribuită.
Instalează-l pe Consul
Scurtă introducere
Consul este un instrument de descoperire și înregistrare a serviciilor, distribuit și foarte scalabil.
Consul include în principal următoarele caracteristici:
- Descoperirea serviciilor: Suport pentru înregistrarea și descoperirea serviciului atât pentru protocoalele HTTP, cât și pentru cele DNS.
- Monitorizarea verificărilor: Suportă multiple controale de sănătate.
- Stocare cheie/valoare: Suportă stocarea distribuită a datelor KV prin API-ul HTTP.
- Suport pentru mai multe centre de date: Orice număr de centre de date sunt suportate.
Instalare
Adresă de descărcare:
Autentificarea cu hyperlink este vizibilă.
Acest articol folosește Windows 10 x64 ca mediu de testare.
După descărcare și dezippare, rulați-l folosind comanda cmd, codul este următorul:
dev înseamnă rularea în modul dezvoltare, iar parametrul -client poate fi folosit pentru a specifica ce IP este permis clientului, de exemplu, -client 127.0.0.1 înseamnă că poate fi folosit, iar în modul de dezvoltare datele nu vor fi păstrate.
(mod dezvoltator, modul cluster este recomandat pentru mediile de producție)
Acces:http://127.0.0.1:8500/ui/dc1/servicesVezi mai jos:
Interfață KV
Adresa documentației API:
Autentificarea cu hyperlink este vizibilă.
În primul rând, folosesc o pagină web online și creez o nouă pereche cheie/valoare.
Primește valoarea prin calea cererii GET /v1/kv/:key.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Cheie": "test", "Steaguri": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex este o valoare internă de indice care reprezintă momentul creării intrării.
- ModifyIndex este ultimul indice care modifică această cheie. Acest indice corespunde valorii antetului returnată de X-Consul-Index în răspuns și poate fi setat de ? parametrul de interogare index este folosit pentru a stabili interogările blocante. Poți chiar să faci interogări blocante asupra întregului subarbore al magazinului KV: ce-ar fi dacă? recurse oferă o interogare, iar valoarea returnată X-Consul-Index corespunde celei mai recente valori a ModifyIndex din prefix, folosind interogarea blocantă ?index va aștepta până când orice cheie din acel prefix este actualizată.
- LockIndex reprezintă numărul de ori în care cheia din lacăt a fost dobândită cu succes. Dacă lacătul este ținut, cheia de sesiune va furniza sesiunea care deține lacătul.
- Cheia este pur și simplu traseul complet al intrării.
- Steagurile sunt numere întregi opace fără semn care pot fi atașate fiecărei însemnări. Clienții pot alege să folosească această opțiune, dar are sens pentru aplicația lor.
- Value este un blob de date codificat în base64.
.NET/C# Cheie/Valoare citit și scrie
Mai întâi, creează un proiect .NET 4.6.1 și folosește Nuget pentru a instala pachetele necesare, după cum urmează:
Codul este următorul:
Randările sunt următoarele:
- Cheia cheie este sensibilă la majuscule și majuscule
- Cheia duplicată, valorile valorilor vor fi suprascrise
(Sfârșit) |