Dağıtık uygulamalarda, veritabanı bağlantı dizelerini güncellemek ve önbellek adreslerini güncellemek gibi yapılandırma özelliklerini değiştirmek genellikle gereklidir. Çok fazla uygulama yoksa manuel olarak değiştirebilirsiniz, çok sayıda uygulama olduğunda dağıtık yapılandırma çok önemlidir, bu makale Consul tabanlı .net/c# Anahtar/Değer depolama mimarisini dağıtık yapılandırmayı uygulamak için açıklar.
Konsolos'u Yerleştir
Kısa giriş
Consul, dağıtık ve yüksek ölçeklenebilir bir hizmet keşfi ve kayıt aracıdır.
Consul esas olarak aşağıdaki özellikleri içerir:
- Hizmet keşfi: HTTP ve DNS protokolleri için hizmet kaydı ve keşif desteği.
- İzleme Kontrolleri: Birden fazla sağlık kontrolünü destekler.
- Anahtar/Değer Depolama: HTTP API üzerinden dağıtık KV veri depolamayı destekler.
- Çoklu veri merkezi desteği: Her türlü veri merkezi desteklenmektedir.
Kurma
İndir Adresi:
Bağlantı girişi görünür.
Bu makale test ortamı olarak Windows 10 x64 kullanmaktadır.
İndirip açtıktan sonra cmd komutunu kullanarak çalıştırın, kod şu şekildedir:
dev, geliştirme modunda çalışmak anlamına gelir ve -client parametresi istemcinin hangi IP'ye erişebileceğini belirtmek için kullanılabilir; örneğin, -client 127.0.0.1 kullanılabileceğini ifade eder ve geliştirme modunda veri kalıcı olmaz.
(Üretim ortamları için geliştirme modu, küme modu önerilir)
Erişim:http://127.0.0.1:8500/ui/dc1/servicesAşağıya bakınız:
KV arayüzü
API Dokümantasyon Adresi:
Bağlantı girişi görünür.
İlk olarak, çevrimiçi bir web sayfası kullanıyorum ve yeni bir anahtar/değer çifti oluşturuyorum.
Değeri GET request /v1/kv/:key yolu üzerinden alın.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Anahtar": "test", "Bayraklar": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex, girişin oluşturulduğu zamanı gösteren dahili bir indeks değeridir.
- ModifyIndex, bu anahtarı değiştiren son indekstir. Bu indeks, yanıtta X-Consul-Index tarafından verilen başlık değerine karşılık gelir ve ? index sorgu parametresi bloklama sorgularını oluşturmak için kullanılır. Hatta KV mağazasının tüm alt ağacına karşı engelleme sorguları bile yapabilirsiniz: ya şöyle olsa? recurse bir sorgu sağlar ve geri dönen X-Consul-Index değeri, önekteki ModifyIndex'in en son değerine karşılık gelir; engelleme sorgusu kullanıldığında ?index, o önekteki herhangi bir anahtarın güncellenmesini bekler.
- LockIndex, kilitteki anahtarın kaç kez başarıyla elde edildiği miktardır. Kilit tutulursa, Oturum anahtarı kilidin sahibi olan oturumu sağlar.
- Anahtar nokta girişin tam yolu.
- Bayraklar, her girişe eklenebilen opak işaretsiz tam sayılardır. Müşteriler bu seçeneği kullanmayı seçebilir, ancak uygulama için mantıklı.
- Value, base64 kodlanmış bir veri yığınıdır.
.NET/C# Anahtar/Değer okuma ve yazma
İlk olarak, bir .NET 4.6.1 projesi oluşturun ve gerekli paketleri kurmak için nuget kullanın, aşağıdaki gibi:
Kod şöyledir:
Çizimler aşağıdaki gibidir:
- Anahtar anahtar büyük harf duyarlıdır
- Kopyalanan anahtar, değer değerleri üzerine yazılır
(Son) |