Dalam aplikasi terdistribusi, seringkali perlu untuk memodifikasi properti konfigurasi, seperti memperbarui string koneksi database dan memperbarui alamat cache. Jika tidak banyak aplikasi, Anda dapat memodifikasinya secara manual, setelah ada banyak aplikasi, konfigurasi terdistribusi sangat penting, artikel ini menjelaskan arsitektur penyimpanan Key/Value .net/c# berdasarkan Consul untuk mengimplementasikan konfigurasi terdistribusi.
Instal Konsul
Pengantar singkat
Consul adalah alat penemuan dan pendaftaran layanan yang didistribusikan dan sangat terukur.
Konsul terutama mencakup fitur-fitur berikut:
- Penemuan layanan: Dukungan untuk pendaftaran dan penemuan layanan untuk protokol HTTP dan DNS.
- Pemeriksaan Pemantauan: Mendukung beberapa pemeriksaan kondisi.
- Penyimpanan Kunci/Nilai: Mendukung penyimpanan data KV terdistribusi melalui HTTP API.
- Dukungan multi-pusat data: Sejumlah pusat data didukung.
Instalasi
Alamat Unduhan:
Login hyperlink terlihat.
Artikel ini menggunakan Windows 10 x64 sebagai lingkungan pengujian.
Setelah mengunduh dan membuka ritsleting, jalankan menggunakan perintah cmd, kodenya adalah sebagai berikut:
dev berarti berjalan dalam mode pengembangan, dan parameter -client dapat digunakan untuk menentukan IP apa yang diizinkan untuk diakses oleh klien, misalnya, -client 127.0.0.1 berarti dapat digunakan, dan dalam mode pengembangan, data tidak akan dipertahankan.
(mode pengembang, mode kluster direkomendasikan untuk lingkungan produksi)
Akses:http://127.0.0.1:8500/ui/dc1/servicesLihat di bawah:
Antarmuka KV
Alamat Dokumentasi API:
Login hyperlink terlihat.
Pertama, saya menggunakan halaman web online dan membuat pasangan kunci/nilai baru.
Dapatkan nilai melalui jalur permintaan GET /v1/kv/:key.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Kunci": "uji", "Bendera": 0, "Nilai": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex adalah nilai indeks internal yang mewakili kapan entri dibuat.
- ModifyIndex adalah indeks terakhir yang memodifikasi kunci ini. Indeks ini sesuai dengan nilai header yang dikembalikan oleh X-Consul-Index dalam respons, dan dapat diatur oleh ? Parameter kueri indeks digunakan untuk membuat kueri pemblokiran. Anda bahkan dapat melakukan kueri pemblokiran terhadap seluruh subpohon penyimpanan KV: bagaimana jika? recurse menyediakan kueri, dan nilai yang dikembalikan X-Consul-Index sesuai dengan nilai terbaru ModifyIndex dalam awalan, menggunakan kueri pemblokiran ?index akan menunggu sampai kunci apa pun dalam awalan itu diperbarui.
- LockIndex adalah berapa kali kunci dalam kunci berhasil diperoleh. Jika kunci ditahan, kunci Sesi akan memberikan sesi yang memiliki kunci.
- Kuncinya hanyalah jalur lengkap entri.
- Bendera adalah bilangan bulat buram tanpa tanda tangan yang dapat dilampirkan ke setiap entri. Pelanggan dapat memilih untuk menggunakan opsi ini, tetapi masuk akal untuk aplikasi mereka.
- Value adalah gumpalan data yang dikodekan base64.
.NET/C# Kunci/Nilai baca dan tulis
Pertama, buat proyek .NET 4.6.1 dan gunakan nuget untuk menginstal paket yang diperlukan, sebagai berikut:
Kodenya adalah sebagai berikut:
Renderingnya adalah sebagai berikut:
- Kunci kunci peka huruf besar/kecil
- Kunci duplikat, nilai nilai akan ditimpa
(Akhir) |