Назад | Перейти на главную страницу

Как mercurial-server обрабатывает запросы

Задний план

Сейчас я использую LShift Меркуриальный сервер разместить несколько ртутных репозиториев. Похоже, что количество репозиториев, а также их размер, как ожидается, значительно вырастут.

Чтобы бороться с этим, я планирую разместить репозитории в кластере файловых серверов отдельно от машины, на которой размещено приложение mercurial-server.

Вопрос

Меня больше всего беспокоит то, как приложение mercurial-server обрабатывает запросы от клиентов? Возьмем запрос типа «hg clone ssh: // hg @ server / repo». Я знаю, что он проверяет ключ и гарантирует, что пользователю разрешено клонировать это репо, но обрабатывает ли он туннелирование запроса или перенаправляет его на файловый сервер?

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

редактировать

Привет, Пол, я понимаю, что моя просьба была непонятной, поэтому делаю еще одну попытку. Я действительно хочу знать, как будет работать mercurial-server, когда репозитории физически разделены. Будет ли mercurial-server обрабатывать пропускную способность фактических репозиториев, проходящих через него?

Первоначальный запрос:

Возможная реализация 1

Файл передается через mercurial-server:

Возможная реализация 2

Файл отправляется напрямую запрашивающей стороне (без использования пропускной способности сервера):

Итак, протокол, соединяющий хост mercurial-server с хостами файлового сервера, - это сам Mercurial. В этом случае этому хосту потребуется как большая пропускная способность, так и много места для хранения.

Ваш вопрос на самом деле не имеет отношения к mercurial-server - применяются точно такие же соображения, как если бы вы просто использовали Mercurial поверх ssh без него. Боюсь, что на этом я остановлюсь - у меня сейчас не так много времени - надеюсь, вы сможете найти решение своей проблемы!

Как хост mercurial-server будет общаться с файловыми серверами? Через NFS или какой-либо другой протокол удаленной файловой системы?

mercurial-server ожидает, что каталог репозиториев будет выглядеть как файловая система и (через Mercurial) использует обычные операции файловой системы для их чтения и записи, но ему все равно, настоящий ли это локальный диск или, например, монтирование NFS.