TransWikia.com

Кластеризация сервисов

Stack Overflow на русском Asked by UserName on July 26, 2020

Введение

Есть некий провайдер предоставляющий наборы данных разделенных некоторым образом – признакам. Необходимо реализовать сервис, который бы эту информацию потреблял и производил на ее основе вычисления, но так как наборов N > 1, то и экземпляров сервиса требуется SN = N.

1 экземпляр на 1 набор данных.


Задача

Задачу можно решить с помощью WSFC, на каждый набор данных будет приходится одна роль, которая представлена 2 экземплярами сервиса (по 1 на VM), но такой вариант предполагает, что за группами сервисов будет жестко закреплена конфигурация описывающая с каким набором работать и в случае выхода из строя одной из групп часть данных будет потеряна.


Требуется поверх/отдельно подобной схемы реализовать динамическое реконфигурирование, т.е в ситуации когда роль работающая с группой данных А выходит из строя, обязанность по ее обработке переходит в обязанность роли обрабатывающей группу данных B без вмешательства оператора.


Требуется поверх (или отдельно) подобной схемы реализовать
динамическое реконфигурирование

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


Вопросы

  • Какие существуют практики и библиотеки/абстракции для решения подобных задач?
  • Алгоритмы типа Raft являются решением?

Из Wiki:

Raft предполагает, что на кластере всегда
существует явно выделенный лидер. Только этот лидер отправляет новые
записи на другие узлы кластера. Таким образом, остальные узлы следуют
за лидером и не взаимодействуют между собой (за исключением фазы
голосования). Если внешний клиент подключается к кластеру через
обычный узел, то все его запросы перенаправляются лидеру и только
оттуда приходят на узлы.

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


UPD

Подразумевается реализация в рамках .NET платформы.

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP