Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 32919|Отговор: 0

[Източник] [Архитектура]. net/c# реализира разпределена конфигурация на Key/Value хранилище, базирано на Consul

[Копирай линк]
Публикувано на 2020-10-16 18:18:06 | | | |
В разпределените приложения често е необходимо да се променят конфигурационните свойства, като актуализиране на низове за връзка към база данни и обновяване на кеш адреси. Ако няма много приложения, можете ръчно да ги модифицирате, след като има много приложения, разпределената конфигурация е много важна, тази статия обяснява архитектурата Key/Value storage на .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 blob от данни.


.NET/C# Ключ/Стойност за четене и записване

Първо, създайте .NET проект 4.6.1 и използвайте nuget, за да инсталирате необходимите пакети, както следва:



Кодът е следният:



Визуализациите са както следва:



  • Ключовият ключ е чувствителен към регистри
  • Дублиращите се стойности на ключ и стойности ще бъдат презаписани


(Край)




Предишен:Дебъгване на .NET програми с Notepad у дома на компютър в продължение на десет години
Следващ:Архитектура: ASP.NET Core динамично конфигурира горещи актуализации въз основа на Consul
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com