V distribuovaných aplikáciách je často potrebné upravovať konfiguračné vlastnosti, ako je aktualizácia reťazcov pripojenia databázy a aktualizácia adries cache. Ak nie je veľa aplikácií, môžete ich manuálne upraviť, keď je ich veľa, distribuovaná konfigurácia je veľmi dôležitá, tento článok vysvetľuje architektúru úložiska Key/Value pre .net/c# založenú na Consul na implementáciu distribuovanej konfigurácie.
Inštalácia konzula
Stručný úvod
Consul je nástroj na objavovanie a registráciu služieb, ktorý je distribuovaný a vysoko škálovateľný.
Konzul zahŕňa najmä nasledujúce vlastnosti:
- Objavovanie služieb: Podpora registrácie a objavovania služieb pre HTTP aj DNS protokoly.
- Monitorovacie kontroly: Podporuje viacero zdravotných kontrol.
- Key/Value Storage: Podporuje distribuované ukladanie KV dát cez HTTP API.
- Podpora viacerých dátových centier: Podporovaný je ľubovoľný počet dátových centier.
Inštalácia
Adresa na stiahnutie:
Prihlásenie na hypertextový odkaz je viditeľné.
Tento článok používa Windows 10 x64 ako testovacie prostredie.
Po stiahnutí a rozbalení ho spustite pomocou príkazu cmd, kód je nasledovný:
dev znamená bežať vo vývojovom režime a parameter -client môže určovať, aká IP adresa je klientovi povolená, napríklad -client 127.0.0.1 znamená, že sa môže používať, a v režime vývoja sa dáta neuchovávajú.
(vývojový režim, klastrový režim sa odporúča pre produkčné prostredia)
Prístup:http://127.0.0.1:8500/ui/dc1/servicesPozri nižšie:
KV rozhranie
Adresa API dokumentácie:
Prihlásenie na hypertextový odkaz je viditeľné.
Najprv použijem online stránku a vytvorím nový pár kľúč/hodnota.
Získaj hodnotu cez GET požiadavku /v1/kv/:key path.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Key": "test", "Vlajky": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex je interná indexová hodnota, ktorá reprezentuje, kedy bol záznam vytvorený.
- ModifyIndex je posledný index, ktorý tento kľúč upravuje. Tento index zodpovedá hlavičkovej hodnote vrátenej X-Consul-Index v odpovedi a môže byť nastavený ako ? parameter indexového dotazu sa používa na vytvorenie blokovacích dotazov. Môžete dokonca vykonávať blokovacie dotazy na celom podstrome KV Store: čo ak? rekurzíva poskytuje dotaz a vrátená hodnota X-Consul-Index zodpovedá najnovšej hodnote ModifyIndex v prefixe, pričom blokujúci dotaz ?index počká, kým sa neaktualizuje ktorýkoľvek kľúč v danej prefixe.
- LockIndex je počet úspešne získaných kľúčov v zámku. Ak je zámok držaný, kľúč relácie poskytne reláciu, ktorá zámok vlastní.
- Kľúčom je len celá cesta vstupu.
- Vlajky sú nepriehľadné neoznačené celé čísla, ktoré možno pripojiť ku každému záznamu. Zákazníci si môžu túto možnosť vybrať, ale pre ich aplikáciu to dáva zmysel.
- Hodnota je base64 kódovaná hromada dát.
.NET/C# Čítanie a zápis kľúč/hodnota
Najprv vytvorte projekt .NET 4.6.1 a použite nuget na inštaláciu potrebných balíkov, nasledovne:
Kód je nasledovný:
Vizualizácie sú nasledovné:
- Kľúčový kľúč je citlivý na veľké a malé písmená
- Duplikovaný kľúč, hodnoty budú prepísané
(Koniec) |