У розподілених додатках часто необхідно змінювати властивості конфігурації, наприклад, оновлювати рядки з'єднання бази даних та адреси кешу. Якщо застосунків небагато, можна змінити їх вручну, коли є багато додатків, розподілена конфігурація дуже важлива. У цій статті пояснюється архітектура зберігання ключів/значення .net/c# на основі Consul для реалізації розподіленої конфігурації.
Встановити консула
Короткий вступ
Consul — це інструмент для виявлення та реєстрації сервісів, який є розподіленим і дуже масштабованим.
Consul переважно включає такі особливості:
- Пошук сервісів: Підтримка реєстрації та виявлення сервісів як для протоколів HTTP, так і DNS.
- Моніторинг перевірок: підтримує кілька медичних перевірок.
- Зберігання ключів/значень: Підтримує розподілене зберігання даних KV через HTTP API.
- Підтримка мультидата-центрів: підтримується будь-яка кількість дата-центрів.
Установки
Завантажити адресу:
Вхід за гіперпосиланням видно.
У цій статті використовується Windows 10 x64 як тестове середовище.
Після завантаження та розпакування запустіть його за допомогою команди cmd, код виглядає так:
Dev означає роботу в режимі розробки, і параметр -client може використовуватися для вказівки, до якої IP-адреси клієнт дозволено звертатися, наприклад, -client 127.0.0.1 означає, що його можна використовувати, і в режимі розробки дані не зберігаються.
(рекомендується режим розробки, кластерний режим для виробничих середовищ)
Доступ:http://127.0.0.1:8500/ui/dc1/servicesДив. нижче:
Інтерфейс KV
Адреса API-документації:
Вхід за гіперпосиланням видно.
Спочатку я використовую онлайн-веб-сторінку і створюю нову пару ключ/значення.
Отримайте значення через шлях GET запиту /v1/kv/:key.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Ключ": "тест", "Прапори": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex — це внутрішнє значення індексу, яке позначає момент створення запису.
- ModifyIndex — останній індекс, який змінює цей ключ. Цей індекс відповідає значенням заголовка, яке повертає X-Consul-Index у відповідь, і може бути встановлений як ? Параметр індексного запиту використовується для встановлення блокуючих запитів. Ви навіть можете виконувати блокуючі запити до всього піддерева магазину KV: а що як? recurse надає запит, і повернене значення X-Consul-Index відповідає останньому значенню ModifyIndex у префіксі; за допомогою блокуючого запиту ?index чекає, поки будь-який ключ у цьому префіксі не буде оновлено.
- LockIndex — це кількість разів, коли ключ із замка був успішно отриманий. Якщо замок утримано, ключ сесії надасть сесію, яка володіє замком.
- Ключ — це повний шлях входу.
- Прапорці — це непрозорі беззнакові цілі числа, які можна прикріпити до кожного запису. Клієнти можуть обрати цю опцію, але вона має сенс для їхнього застосування.
- Значення — це закодований блок даних у формі base64.
.NET/C# Ключ/Значення для читання та запису
Спочатку створіть проєкт .NET 4.6.1 і використайте nuget для встановлення необхідних пакетів, наступним чином:
Код виглядає так:
Зображення такі:
- Ключ чутливий до регістру
- Дублікат ключів, значення значення будуть перезаписані
(Кінець) |