Пауки Google постоянно являются сканированием сети. У них есть несколько машин, которые проверяют их значительный индекс и добавляют новые страницы ко всему этому время.
Причины это быстро:
... среди многих других факторов.
Google имеет распространенность пространства и пропускной способности. Не делайте Вы волнуетесь о них! По состоянию на январь 2008 Google сортировал (в среднем) 20PB день. 20PB (петабайты) 20 000 терабайт или 20 миллионов гигабайтов. Теперь это просто сортирует, это не все их данные, это - часть его.
Интересный вопрос подошел при выполнении экспериментов в таком масштабе: Куда Вы помещаете 1PB отсортированных данных? Мы писали это в 48 000 жестких дисков (мы не использовали полную мощность этих дисков, хотя), и каждый раз мы выполнили наш вид, по крайней мере одному из наших дисков удалось повредиться (это не удивительно вообще, учитывая продолжительность теста, количество дисков, включенных, и ожидаемое время жизни жестких дисков). Для проверки мы бережно хранили наш отсортированный петабайт, мы попросили, чтобы Google File System записал три копии каждого файла к трем различным дискам.
Просто невероятный.
Я использовал что-то вроде этого прежде; это - то, как это работало.
/etc/resolv.conf
. Они были бы файлами, которые Вы сохраняете в "svn:externals" repos теперь.git pull
repo каждый день.Изменение кода в единственном ответвлении машины просто; просто git checkout
соответствующее ответвление в Вашей среде разработки, внесите изменения и фиксируйте их назад центральному repo. Все машины в том ответвлении автоматически получат изменения в следующий раз прогоны задания крона.
Изменение кода для ответвления модуля незначительно более хитро, поскольку это включает два шага:
git checkout
соответствующее ответвление модуляgit checkout
каждое ответвление машины, которое использует то ответвление модуля и затем объединяет ответвление модуля в него. мерзавец выяснит, что Вы объединили то ответвление модуля прежде и только замечаете изменения, которые произошли начиная с того последнего общего родителя.Этот метод обладает и преимуществами и недостатками. Одно преимущество - то, что я могу внести изменение в модуль, переходят и применяют его к ответвлениям машины, для которых нужен он, который разрешение ответвлениям машины, которые не остаются с более старой версией, пока они не готовы. Недостаток, затем, состоит в том, что необходимо не забыть объединять ответвление модуля в каждое ответвление машины, которое могло бы использовать его. Я использую сценарий, который пересекает дерево фиксации и автоматически делает это слияние для меня, но может все еще быть болью.
Как альтернативные, более новые версии мерзавца поддерживают что-то позвонившее "подмодули":
Подмодули позволяют внешним репозиториям быть встроенными в специализированном подкаталоге исходного дерева, всегда указывал на конкретную фиксацию.
Это позволило бы Вам создавать что-то немного как "svn:externals" деревья, которые Вы могли затем обновить почти таким же способом, как Вы делаете теперь.
Бит куска здесь, но Это Кажется, что сообщение получает рычаг, мог сделать задание
Ведущее устройство Repo хранится в/var/master
рычаг клонирует его к/var/localclone
затем копирует хост определенные детали
Необходимо было бы настроить .git/post-receive рычаг локально на каждом сервере (с соответствующими настройками)
Это также кажется на желание чего-то больше как марионетка или шеф-повар, чем мерзавец для этого, это позволило бы Вам выполнять мерзавца для управления конфигурациями, и модули централизованно и иметь puppet\chef справляются с развертыванием и проверкой для Вас
вот быстрая работа, о которой я думал
1. Имейте центральный репозиторий в, говорят /var/repo
2. Поместите файлы, которые глобальны ко всем доменам в том каталоге.
3. Создайте ответвления для каждого субдомена /var/repo/subdomain1
,/var/repo/subdomain2
и т.д.
4. Создайте рычаг сообщения, где любое нажатие к ответвлению объединяется с ведущим устройством.
Таким образом, когда Вы изменяете конфигурацию /var/repo/subdomain2
это сразу объединяется с ведущим устройством, таким образом, можно вытянуть repo полностью и иметь все файлы конфигурации
Когда Вы захотите вытянуть отдельные конфигурации субдомена, просто вытяните соответствующее ответвление.
Как Вы помещаете свои файлы конфигурации в /var/repo/*
совершенно другой разговор (вкладки крона, я могу думать),
~$