Какой инструмент / библиотека лучше всего подходит для синхронизации данных без центрального хранилища - PullRequest
0 голосов
/ 14 февраля 2011

Я занимаюсь разработкой приложения на Java, в котором нескольким компьютерам необходимо синхронизировать некоторые данные.Я не могу использовать центральный репозиторий, и я хотел бы использовать существующую систему, которая выполняет синхронизацию, а не пишет свою собственную.

Я думал о Git, так как это одна из систем контроля версий, которая распространяется и может работать без центрального хранилища.(SVN не подлежит сомнению, поскольку зависит от центрального репо).

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

Является ли использование Git хорошей идеей?Есть ли лучший метод?Можно ли легко подключить Git с моим Java-кодом, чтобы он работал прозрачно для пользователя?

[РЕДАКТИРОВАТЬ: предоставить более подробную информацию о моих требованиях.]

Есть три компьютераA, B, C, которые каким-то образом способны общаться друг с другом (т.е. отправлять строки и получать строки друг от друга).Эта коммуникационная способность передана на аутсорсинг, и мне для этого дано read и write операций.Компьютеры могут не использовать стандартные протоколы, такие как TCP, но суть в том, что функции read и write работают так, как требуется - передача строки из одной точки в другую.

Компьютеры могут быть не подключены постоянно.

Теперь я хочу подключить GIT или другой инструмент синхронизации файлов, чтобы я мог синхронизировать определенный каталог на A, B, C.Я склонен использовать GIT, потому что он быстрый и не требует вездесущего центрального сервера.Однако мне потребуется GIT для связи через мои read и write методы, а не для использования стека TCP / IP, как это обычно делается.

Может кто-нибудь дать несколько советов, как этого добиться?

1 Ответ

1 голос
/ 14 февраля 2011

Трудно предложить решение без подробного знания ваших требований, но вы проверили Hazelcast ? Он распространил реализации многих коллекций Java. Он работает в многоадресной сети и требует практически нулевой настройки.

...