Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 32919|Ответ: 0

[Источник] [Архитектура]. net/c# реализует распределённую конфигурацию хранилища ключ/значение на основе Consul

[Скопировать ссылку]
Опубликовано 2020-10-16 18:18:06 | | | |
В распределённых приложениях часто необходимо изменять конфигурационные свойства, например, обновлять строки подключения базы данных и обновлять адреса кэша. Если приложений немного, вы можете изменить их вручную; когда их много, распределённая конфигурация очень важна. В этой статье объясняется архитектура хранения ключ/значение в .net/c# на основе Consul для реализации распределённой конфигурации.

Установить консула

Краткое введение

Consul — это инструмент обнаружения и регистрации сервисов, который распределён и высоко масштабируем.

Consul в основном включает следующие функции:

  • Обнаружение сервисов: поддержка регистрации и обнаружения сервисов как для протоколов HTTP, так и DNS.
  • Мониторинг проверок: поддерживает многократные медицинские проверки.
  • Хранилище ключей/значений: поддерживает распределённое хранение данных KV через HTTP API.
  • Поддержка множества дата-центров: поддерживается любое количество дата-центров.


Установка

Адрес для скачивания:

Вход по гиперссылке виден.

В этой статье используется Windows 10 x64 в качестве тестовой среды.

После загрузки и распаковки запустите его с помощью команды cmd, код выглядит следующим образом:



Dev означает работу в режиме разработки, и параметр -client может использоваться для указания, к которому клиенту разрешен доступ, например, -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 — это количество раз, когда ключ в замке был успешно получен. Если замок удерживается, ключ сессии предоставит сессию, которой принадлежит замок.
  • Главное — это полный путь входа.
  • Флаги — это непрозрачные беззнаковые целые числа, которые можно прикрепить к каждому элементу. Клиенты могут выбрать эту опцию, но она имеет смысл для их применения.
  • Значение — это скопление данных, закодированное в базе 64.


.NET/C# Ключ/Значение для чтения и записи

Сначала создайте проект .NET 4.6.1 и используйте nuget для установки необходимых пакетов, следующим образом:



Код таков:



Визуализации следующие:



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


(Конец)




Предыдущий:Отладка .NET-программ с помощью блокнота дома на компьютере в течение десяти лет
Следующий:Архитектура: ASP.NET Core динамически настраивает горячие обновления на основе Consul
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com