Синхронизация данных между избыточными узлами vb.net - PullRequest
0 голосов
/ 02 июля 2019

у меня простой класс;

public class Person
    public property Name as string
    public property CurrentLocation as integer
    public property LastSeen as Datetime
end class

И эти люди находятся в списке

Public AllPersons are list(of Person)

Мое программное обеспечение работает от 1 до 20 узлов в сети.Эти данные должны быть синхронизированы по всем 20 узлам, не завися от одного узла для синхронизации.Эти узлы должны быть избыточными, то есть процесс синхронизации должен продолжаться, даже если 18 случайных узлов больше не доступны.У каждого узла уже есть полный список всех остальных узлов.Узел может связаться с другими узлами на той же локальной сети, используя соединение TCP.Предпочтительным способом общения является использование инфраструктуры Нэнси.Это простой список от 100 до 50000 пользователей, содержащий до 10 свойств каждый.Все они очень маленькие, такие как формат даты и времени, целое число или строка.

Таким образом, ключевое значение здесь имеет распределение / децентрализация, также требуется высокочастотная синхронизация с небольшим объемом данных.В течение одной минуты может быть до 25-50 изменений, содержащих не более 100 байт данных.

Цель - избыточность, служба находится за балансировщиком нагрузки, и каждый узел должен иметь одинаковый набор данных безсоздание единой точки отказа.Создание внутренней базы данных - это не вариант, так как это приведет к появлению нового требования и единой точки отказа.Как показывают теги, я ищу решение для Windows / .NET.

Существует ли существующее решение, которое я могу использовать? Если нет, то есть ли документация по этому вопросу?

...