Torgholodmash.ru

ТоргХолодМаш
6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Русские Блоги

Русские Блоги

Для построения кластера в одной системе существует два основных решения: синхронизация данных и отказоустойчивость кластера.

Наивный план

Простое и грубое решение состоит в том, чтобы развернуть несколько идентичных сервисов Redis, а затем использовать балансировку нагрузки для распределения нагрузки и мониторинга состояния сервиса. Преимущество этой схемы — простая отказоустойчивость, пока она существует, весь кластер все еще доступен. Однако его проблема заключается в обеспечении согласованности данных этих служб Redis, что вызовет большое количество операций синхронизации данных, что повлияет на производительность и стабильность.

Redis кластерное решение

Кластерное решение Redis основано на идее разделяй и властвуй. Данные в Redis хранятся в форме Key-Value, а данные разных ключей не зависят друг от друга. Следовательно, Ключ может быть разделен на несколько разделов в соответствии с определенным правилом, и данные разных разделов могут храниться на разных узлах. Эта схема похожа на структуру хэш-таблицы в структуре данных. В реализации кластера Redis используется алгоритм хеширования (формула CRC16(Key) mod 16383 ) Карта Ключ к целому числу в диапазоне от 0 до 16383. Таким образом, каждое целое число соответствует хранилищу нескольких данных значения ключа, а абстрактное хранилище, соответствующее такому целому числу, называется интервалом. Каждый узел Redis Cluster, если быть точным, главный узел отвечает за определенный диапазон слотов.Кластер всех узлов охватывает весь диапазон от 0 до 16383 слотов.

Говорят, что любую проблему с компьютером можно решить, добавив промежуточный слой. Концепция слотов тоже такой слой. Он находится между данными и узлом, что упрощает сложность операций расширения и сжатия. Отношение отображения между данными и интервалом завершается с помощью фиксированного алгоритма, и обслуживание не требуется. Узлу необходимо только поддерживать отношение отображения между собой и интервалом.

Читать еще:  Синхронизировал айфон с чужим компьютером

Slave

Вышеупомянутое решение только решает проблему расширения производительности, и отказоустойчивость кластера не была улучшена. Метод повышения отказоустойчивости обычно заключается в использовании каких-либо резервных / избыточных средств. Узел, отвечающий за определенное количество слотов, называется главным узлом. Чтобы повысить стабильность кластера, каждый главный узел может быть настроен с несколькими резервными узлами, которые называются подчиненными узлами. Как правило, подчиненный узел сохраняет данные главного узла в виде холодной резервной копии и заменяет главный узел, когда главный узел выходит из строя. В некоторых случаях, когда давление доступа к данным является относительно высоким, подчиненный узел также может обеспечивать функцию чтения данных, но данные в режиме реального времени подчиненного узла будут несколько хуже. Операция записи данных может быть выполнена только через главный узел.

Запрос перенаправления

Когда узел Redis получает команду для ключа, если слот, соответствующий ключу, не находится в пределах его собственной ответственности, он возвращает ошибку перенаправления MOVED, сообщая клиенту перейти на правильный узел для доступа к данным.

Если происходят частые ошибки перенаправления, это неизбежно повлияет на производительность доступа. Поскольку алгоритм отображения от ключа к слоту является фиксированным и общедоступным, клиент может поддерживать отношение отображения между слотом и узлом внутри. При доступе к данным он может вычислить слот по ключу и найти правильный узел для уменьшения ошибок перенаправления. В настоящее время большинство языков разработки клиентов Redis реализуют эту стратегию. Этот адресhttps://redis.io/clientsВы можете просмотреть клиент Redis на основных языках.

Диагностика проблем с WMI

В первую очередь нужно проверить служба Windows Management Instrumentation (Winmgmt) установлена в Windows и запущена. Вы можете проверить состояние службы в консоли services.msc или с помощью PowerShell:

Get-Service Winmgmt | Select DisplayName,Status,ServiceName

Читать еще:  Синхронизация контактов samsung bluetooth

служба Windows Management Instrumentation (Winmgmt) работает

Если служба Winmgmt запущена, вы можете проверить работоспособность WMI, обратившись к ней с помощью простого WMI-запроса. Вы можете выполнить wmi запрос из командной строки или из PowerShell. Например, следующая команда выведет список установленных в Windows программ:

wmic product get name,version

Простейшая PowerShell команда для получения информации о версии и билда Windows 10 через WMI может выглядеть так:

powershell проверка работы wmi командой get-wmiobject

Как вы видите, служба WMI ответила на запрос корректно. Если при выполнении такого WMI-запроса Windows возвращает ошибку, скорее всего сервиса WMI работает некорректно, поврежден WMI репозиторий или есть какие-то другие проблемы.

ошибка Failed to initialize all required WMI classes

В моем случае, например, при открытии свойств WMI Control в консоли управления компьютером (compmgmt.msc) появлялась надпись:

Ранее для диагностики WMI существовала официальная утилита от Microsoft – WMIDiag.vbs (Microsoft WMI Diagnosis). WMIdiag это vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:USERS%USERNAME%APPDATALOCALTEMP). Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.2 и включает в себя следующие типы фалов:

  • .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag;
  • .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание;
  • В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI.

скрипт для исправления ошибок WMI WMIDiag.vbs

в противном случае появится ошибка:

WMIDiag It is not supported in Wow64

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

К сожалению, последняя версия WMIDiag 2.2 корректно работает только с версиями до Windows 8.1/Windows Server 2012 R2. На данный момент Microsoft даже удалила ссылку на загрузку WMIDiag из Download Center. Но при желании, этот скрипт можно найти в сети.

Читать еще:  Программа синхронизации флая с компьютером

WMIDiag может дать подробную информацию по исправлению частных ошибок в WMI, но в большинстве случаев процесс это довольно трудоемкий и стоит потраченного времени только при решении инцидентов в критичных системах (как правило, на продуктивных серверах). Для массового сегмента рабочих станций пользователей сбросить и пересоздатьWMI репозиторий в Windows.

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты