Как стать автором
Обновить
78.19
ИТ-интегратор Белый код
Подбираем и адаптируем ИТ-решения

Работа с кластером DATAREON Platform — обзор основных возможностей, включая модуль горячего восстановления

Время на прочтение7 мин
Количество просмотров338

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». По моим предыдущим статьям, наверно, уже понятно, что я люблю разбираться с разными техническими решениями, поэтому когда DATAREON предложил мне тестовую лицензию на кластер с модулем горячего восстановления, я не стал отказываться. Будем разбираться с тем, как работает кластер серверов DATAREON и для чего нужен модуль горячего восстановления. 

Что такое DATAREON Platform

Цитата из документации:

DATAREON Platform является масштабируемой и отказоустойчивой low-code платформой для управления корпоративными данными и интеграционными потоками.

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

Если кратко: DATAREON Platform — шина данных + хранилище данных. Далее, для простоты, DATAREON Platform буду называть DATAREON. 

Общая информация о работе в режиме кластера

  • Кластер работает по схеме Active-active, т. е. в кластере отсутствуют резервные ноды, простаивающие в ожидании выхода из строя основных. 

  • DATAREON обеспечивает отказоустойчивость по схеме N-1, т. е. пока жива хотя бы одна нода, кластер будет работать.

  • DATAREON способен работать в гетерогенной среде, когда часть нод работают с операционной системой Windows, другая часть работает с Linux. Это никак не ограничивает функциональные возможности кластера или отдельных нод. 

  • Для работы кластера не требуется установка дополнительного ПО.

  • Количество нод в кластере никак не лицензируется. Дополнительно лицензируется только модуль горячего восстановления, приобретается опционально.

  • DATAREON не обеспечивает отказоустойчивость непрерывной доступности, при которой происходит быстрый перезапуск вышедшего из строя сервера.

  • Не обеспечивается предоставление единого адреса доступа для переехавших Сервисов и Внешних Систем.

Настройка кластера DATAREON

В моем кластере будут 3 виртуальные машины: 2 на базе Windows 10, одна Centos 9. Установка кластера практически ничем не отличается от установки нескольких отдельных нод и описана в документации. Я не буду на этом останавливаться, отмечу только один важный момент: после установки ноды не спешите заходить в центр настройки. Если вы в него зайдете и создадите конфигурацию, нода станет независимой, включить ее в кластер не получится. Придется очищать конфигурацию и делать переустановку. 

После установки DATAREON на отдельные ноды заходим в «Центр настройки» только с одного сервера. В настройках меняем адрес 127.0.0.1 на реальный IP-адрес сервера.

Далее, в «Центре настройки» идем в раздел «Кластеры» и добавляем новый.

Затем возвращаемся в пункт «Серверы» и добавляем остальные сервера. Для каждого сервера указывается IP-адрес, порт (можно оставить по умолчанию 7290), название и имя сервера.

На этом первичная настройка кластера закончена, можно применять конфигурацию и посмотреть, как распределяться системы и коннекторы между нодами. Для этого переместимся в «Центр мониторинга».  

Мониторинг работы кластера

Центр мониторинга кластера

Центр мониторинга у кластера один. За его работу отвечает нода — координатор кластера. Координатор кластера назначается автоматически, если есть необходимость ограничить список серверов, которые могут быть координаторами, это можно сделать в конфигурации кластера, перечислив EntityID нод в параметре «Coordinators».

Чтобы открыть «Центр мониторинга», можно воспользоваться кнопкой перехода из «Центра настройки».

Или пытаться зайти в центр мониторинга любой ноды, используя адрес ноды и порт 7201, например: https://10.0.0.8:7201/, нода автоматически перенаправит вас на центр мониторинга на координаторе с помощью редиректа.

Размещение сервисов

Для контроля распределения сервисов и систем по нодам кластера есть вкладка «Размещение сервисов», очень наглядно демонстрирующая, на какой ноде функционирует сервис или адаптер. 

Мониторинг показателей работы кластера

Контроль работы DATAREON'а в режиме кластера мало отличается от контроля работы в режиме одной ноды. Благодаря единому центру мониторинга, все показатели собираются в одном месте, что очень удобно. 

Что не очень удобно, так это отсутствие возможности посмотреть информацию сразу по всем серверам в таком виде.

В режиме одной ноды можно выбрать сервер и сразу увидеть все очереди, архивы, скорость обработки и т. д. Хорошо бы для кластера добавить такую возможность. 

В остальном, работа с трассировками, логами и другими функциями центра мониторинга ничем не отличается от работы в режиме одной ноды.

Управление распределением сервисов 

По умолчанию координатор сам распределят сервисы и системы по нодам. Если вам по каким-то причинам требуется скорректировать распределение, для этого есть ряд настроек:

  1. В конфигурации сервера в секции allocationsGlobal, в массиве systems можно указать EntityID систем, которые приоритетно будут запускаться на этом сервере. 

  1. Опция конфигурации сервера disableAutoAssignment отвечает за запрет миграции сервисов на этот сервер. True – миграция запрещена. False (значение по умолчанию) — миграция разрешена. Если в конфигурации указывается True, все системы необходимо прописать в настройках (п.1), иначе система не запустится.

  1. Привязка внешних систем к серверам через центр настройки.

⚠️ Настройки описаны в порядке уменьшения приоритета. 

Скорее всего, это не все настройки. Если покопаться в конфигах кластера/сервера/системы, можно найти много всего интересного. К сожалению, далеко не все описано в документации. Тонкие настройки придется выпытывать у службы поддержки. 

  1. Центр мониторинга позволяет вручную отправить систему на конкретную ноду.

Отказоустойчивость

Балансировка нагрузки

Чаще всего узким горлышком системы DATAREON становится сервис обработки процессов, обеспечивающий всю вычислительную логику в процессах и маршрутах. Для предотвращения задержки обработки сообщений в кластере есть возможность создать несколько сервисов обработки процессов (максмально по одному на каждую ноду). Система мониторит длину очереди новых сообщений на входе в сервис обработки процессов и, если очередь превышает заданное в настройках количество сообщений, перенаправляет очередь на другой сервис обработки процессов. 

Выход из строя одной или нескольких нод

При выходе из строя одной или нескольких нод, координатор кластера в течение некоторого времени (примерно 1,5 минуты по умолчанию) будет пытаться получить ответ от вышедшей из строя ноды. Не получив ответа, поднимет вышедшие из строя сервисы и системы на других нодах. 

Если из строя выйдет сам координатор, другие ноды это заметят и какая-то из оставшихся нод назначит себя координатором. 

Поведение внешних систем при миграции: 

  • Модуль интеграции с 1С переключается автоматоматически.

  • Веб-сервер. Если служба DATAREON на ноде, к которой обращается клиент, находится в рабочем состоянии, но сам REST-сервер был перенесен на другую ноду, будет автоматически выставлен редирект для перенаправления запроса. На случай выхода из строя ноды на стороне клиента следует предусмотреть обращение к нескольким нодам.

  • REST-клиент переключается автоматоматически.

  • СУБД переключаются автоматоматически.

  • Хранилище данных, UI также поддерживают работу в кластере и будут мигрированы в случае недоступности нод.

Что же будет с данными, которые находились в обработке в момент выхода из строя ноды? 

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

Модуль горячего восстановления

Чтобы предотвратить потерю данных и даже задержку в обработке данных при выходе из строя ноды, был разработан модуль горячего восстановления (далее МГВ). Модуль обеспечивает репликацию данных из очередей ноды в резервные очереди на других нодах. 

Благодаря такой репликации, данные, находящиеся в очередях вышедшей из строя ноды, будут запущены в обработку из резервных очередей, как только нода будет определена как вышедшая из строя. 

Ключевой параметр настройки МГВ — faultTolerance в конфигурации кластера. Параметр отвечает за уровень отказоустойчивости, или по-другому за количество серверов, на которые будут реплицироваться очереди. Максимальная отказоустойчивость — количество нод-1. В этом случае очереди будут реплицироваться на все ноды кластера. Минимальное значение — 0, репликация отключена.

Заключение 

Значительная часть настроек кластера производится правкой конфигураций, не всегда очевидно. Конечно, править конфиги через центр настройки значительно проще, чем бегать по серверам и править их в файлах, как это часто бывает в open source продуктах, но к конфигам явно не хватает документации. 

Также хочется отметить, что для настройки и обслуживания кластера DATAREON не требуется изучать/устанавливать/обслуживать дополнительное ПО. Кластеризация поддерживается, что называется, из коробки. Встроенных средств мониторинга и работы с логами вполне достаточно. 

Если для ваших интеграций допусти́м простой в пределах нескольких минут при падении сервера, можно рассматривать DATAREON как достаточно простую интеграционную платформу с высоким уровнем отказоустойчивости. 

Статья появилась в результате подготовки к вебинару по модулю горячего восстановления. Чтобы получить видеозапись, пройдите короткую регистрацию.

Также приглашаю в сообщество по шинам данных. С 2024 года я встречаюсь с вендорами и делаю обзоры продуктов, которые относятся к классу ESB. За это время удалось пообщаться с разработчиками 15 разных решений. Для всех, кто интересуется шинами данных, я создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина. Если вы хотите узнать больше о DATAREON Platform, «1С:Шине», Factor-ESB и других отечественных решениях, прямо сейчас вступайте в сообщество и задавайте вопросы.

Теги:
Хабы:
+5
Комментарии0

Публикации

Информация

Сайт
белыйкод.рф
Дата регистрации
Дата основания
2015
Численность
31–50 человек
Местоположение
Россия
Представитель
Сергей Скирдин