Что лучший способ состоит в том, чтобы синхронизировать большие объемы данных во всем мире?

Возможно, попробуйте передать вашу модель в параметрах, таких как:

@Html.PagedListPager(Model.PagedModelList, page =>Url.Action("Reports",new {@model = Model, @page = page, FirstLoad = false }))

Редактировать: Еще одно решение - удалить MyObject из параметров. Загружайте каждый раз ваши данные из вашей базы данных. Вы можете следовать примеру в GitHub project

10
задан Jon Seigel 19 March 2010 в 19:04
поделиться

7 ответов

Вы попробовали Унисон?

У меня были хорошие результаты с ним. Это - в основном более умный rsync, который, возможно, является тем, что Вы хотите. Существует список, сравнивающий инструменты синхронизации файла здесь.

12
ответ дан 3 December 2019 в 18:37
поделиться

Как насчет чего-то вроде Глобальной Файловой системы Red Hat, так, чтобы целая структура была разделена через каждый сайт на несколько устройств, вместо того, чтобы копировать все это в каждом местоположении?

Или возможно система хранения коммерческой сети такой как из Сетей LeftHand (правовая оговорка - я понятия не имею о стоимости и не использовал их).

2
ответ дан 3 December 2019 в 18:37
поделиться

Походит на задание для БитТоррента.

Для каждого нового файла на каждом сайте создайте файл семени bittorrent и поместите его в централизованный доступный для сети dir.

Каждый сайт затем загружает (через bittorrent) все файлы. Этот будет генерал Вы совместное использование пропускной способности и автоматическое локальное повторное использование копии.

Фактический рецепт будет зависеть от Вашей потребности. Например, можно создать 1 семя bittorrent для каждого файла на каждом хосте и установить время изменения файла семени для совпадения со временем изменения самого файла. Так как Вы будете делать его ежедневно (каждый час?) лучше использовать что-то, любят, "делают" к (пере-), создают файлы семени только для новых или обновленных файлов.

Затем Вы копируете все файлы семени от всех хостов до централизованного местоположения ("dir средства отслеживания") с опцией "перезапись только если более новый". Это получает Вас ряд семян потока для всех новейших копий всех файлов.

Затем каждый хост загружает все файлы семени (снова, с "перезаписью, если более новая установка"), и запускает загрузку bittorrent на всех них. Это загрузит/повторно загрузит все новые/обновленные файлы.

Rince и повторение, ежедневно.

BTW, не будет никакой "загрузки с себя", как Вы сказали в комментарии. Если файл уже будет присутствовать на локальном хосте, то его контрольная сумма будет проверена, и никакая загрузка не произойдет.

5
ответ дан 3 December 2019 в 18:37
поделиться

Походит на задание для Foldershare

0
ответ дан 3 December 2019 в 18:37
поделиться

У Вас есть много опций:

  • Можно испытать для установки копируемого DB, чтобы хранить данные.
  • Используйте комбинацию rsync или lftp и пользовательских сценариев, но это не подходит Вам.
  • Используйте мерзавца repos с макс. сжатиями и синхронизацией между ними использующий некоторые сценарии
  • Так как объем данных является довольно большим, и вероятно важным, сделайте любую некоторую заказную разработку ПО напрокат эксперт ;)
1
ответ дан 3 December 2019 в 18:37
поделиться

Вы попробовали detect-renamed патч для rsync (http://samba.anu.edu.au/ftp/rsync/dev/patches/detect-renamed.diff)? Я не попробовал его сам, но интересно, обнаружит ли это не только переименованный, но также и дублированные файлы. Если это не обнаружит дублированные файлы, то, я предполагаю, могло бы быть возможно изменить патч, чтобы сделать так.

0
ответ дан 3 December 2019 в 18:37
поделиться

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

1
ответ дан 3 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: