V distribuovaných aplikacích je často nutné upravovat konfigurační vlastnosti, například aktualizovat řetězce připojení k databázi a aktualizovat adresy cache. Pokud není mnoho aplikací, můžete je ručně upravit, jakmile je mnoho aplikací, distribuovaná konfigurace je velmi důležitá, tento článek vysvětluje architekturu úložiště klíč/hodnota pro .net/c# založenou na Consulu pro implementaci distribuované konfigurace.
Instalace konzula
Krátký úvod
Consul je nástroj pro vyhledávání a registraci služeb, který je distribuovaný a vysoce škálovatelný.
Konzul zahrnuje především následující vlastnosti:
- Objevování služeb: Podpora registrace a objevování služeb pro HTTP i DNS protokoly.
- Monitorovací kontroly: Podporuje více zdravotních kontrol.
- Úložiště klíč/hodnota: Podporuje distribuované ukládání dat KV prostřednictvím HTTP API.
- Podpora více datových center: Podporuje se libovolný počet datových center.
Instalace
Adresa ke stažení:
Přihlášení k hypertextovému odkazu je viditelné.
Tento článek používá Windows 10 x64 jako testovací prostředí.
Po stažení a rozbalení ho spusťte příkazem cmd, kód je následující:
dev znamená běžet ve vývojovém režimu a parametr -client lze použít k určení, ke které IP adrese může klient přistupovat, například -client 127.0.0.1 znamená, že může být použita, a ve vývojovém režimu data nebudou uchovávána.
(vývojářský režim, clusterový režim je doporučen pro produkční prostředí)
Přístup:http://127.0.0.1:8500/ui/dc1/servicesViz níže:
KV rozhraní
Adresa dokumentace API:
Přihlášení k hypertextovému odkazu je viditelné.
Nejprve použiji online stránku a vytvořím nový pár klíč/hodnota.
Získejte hodnotu přes GET požadavek /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, která reprezentuje, kdy byl záznam vytvořen.
- ModifyIndex je poslední index, který tento klíč upravuje. Tento index odpovídá hlavičkové hodnotě vrácené X-Consul-Index v odpovědi a lze jej nastavit jako ? Parametr dotazu indexu se používá k vytvoření blokovacích dotazů. Můžete dokonce provádět blokovací dotazy na celém podstromu KV Store: co kdyby? rekurze poskytuje dotaz a vrácená hodnota X-Consul-Index odpovídá nejnovější hodnotě ModifyIndex v prefixu, přičemž blokovací dotaz ?index počká, dokud nebude aktualizován jakýkoli klíč v tomto prefixu.
- LockIndex je počet úspěšných získání klíče v zámku. Pokud je zámek držen, klíč Session poskytne relaci, která zámek vlastní.
- Klíčem je jen celá cesta vstupu.
- Vlajky jsou neprůhledná neznaná celá čísla, která lze připojit ke každému záznamu. Zákazníci si mohou tuto možnost vybrat, ale dává to smysl pro jejich aplikaci.
- Value je dataová hromada kódovaná v base64.
.NET/C# Čtení a zápis klíč/hodnota
Nejprve vytvořte projekt .NET 4.6.1 a použijte nuget k instalaci potřebných balíčků, následovně:
Kód je následující:
Vizualizace jsou následující:
- Klíč je rozlišen na velikost písmen
- Duplikát klíče, hodnoty budou přepsány
(Konec) |