Мы разрабатываем систему со следующими требованиями.
- Есть N систем, каждая из которых генерирует уникальные для себя данные.
- Каждая система требует, чтобы данные из любой другой системы выполняли свою конечную цель.
- Эти системы разговаривают друг с другом в ненадежной сети.
- Ожидается, что некоторые системы будут полностью недоступны в течение длительного периода времени (но они могут быть в контакте с некоторыми из там коллег, которые находятся в контакте с остальной частью сети)
Другими словами, каждая система должна реплицировать свои данные в N одноранговых систем. В идеале это будет сделано разумным образом.
Я рассмотрел поиск в инфраструктурах синхронизации баз данных, но я обеспокоен тем, что для этой проблемы это слишком сложно. Я не думаю, что есть вероятность конфликтов строк, потому что каждая системная информация полностью независима от других систем.
Вопрос в том, знаете ли вы какие-либо рамки, которые могли бы помочь решить эту проблему? Или, возможно, способ сформулировать эту проблему, которая может помочь мне найти путь к решению.
Наконец, в идеале эта структура была бы в С++ (и, возможно, в java).