2012-04-06 3 views
1

Мы хотим использовать Milton WebDav для передачи файлов в нашем веб-приложении, которое в конечном итоге будет развернуто в облачной среде (скорее всего, лазурной) как IaaS. Теперь мы знаем, что стандарт WebDAV не имеет гражданства и, следовательно, он не должен создавать проблем с балансировщиком облачных вычислений, но мы не уверены в Милтоне и имеем несколько вопросов:Чтобы понять сервер Milton WebDAV, работающий с балансиром нагрузки облачной среды

1.) Является ли Милтон внедренным WebDAV, поскольку он , все сообщения остаются без гражданства? Я предполагаю, что он передает токен аутентификации с каждым запросом, но я не уверен, где же токен, хранящийся на сервере? Сохраняет ли он его в базе данных или каком-то кеше и т. Д.?

2.) Запирающий механизм работает нормально, если используется балансировка нагрузки, и для обработки нагрузки имеется 5-6 серверов? Опять же, где сервер Milton хранит токен Lock?

+0

- мы только что опробовали milton против тестов litnus, и он проходит большую часть его, поэтому кажется, что он реализует базовый стандарт webdav. – csn

ответ

0

Я никогда раньше не использовал Milton WebDAV, но из его взглядов он используется для изменения и редактирования файлов на сервере.

Однако местное хранилище Azure не является общим. Каждый экземпляр представляет собой совершенно отдельный сервер. Если вы измените файл на 1 сервере, он не будет реплицирован для следующего.

Azure работает, загружая пакет развертывания. Когда новый экземпляр должен появиться, он использует пакет развертывания и запускает совершенно новый сервер.

С вашей точки зрения они не разделяют ничего общего. Из-за этого вы никогда не узнаете, на каком сервере вы бьете.

Если у вас есть общая файловая система хранения данных, то это может быть другая история. Однако этот сценарий выглядит странно от использования Azure. Amazon EC2 с общим EBS может это сделать.

1

Извините за поздний комментарий, два самых важных аспекта webdav, которые влияют на балансировку нагрузки, - это токены аутентификации для дайджеста (значения Nonce) и токены блокировки.

В качестве разработчика ресурсов вы можете управлять обоими из них. Блокированные токены обычно хранятся в базе данных (вы должны реализовать методы LockableResource, которые будут выполнять постоянство), поэтому они будут совместно использоваться на серверах, хотя нередко использовать маркеры блокировки на основе памяти, и в этом случае вам нужно найти способ делиться этой информацией между серверами.

Digest nonces - это только соображение, если вы внедрили DigestResource. По умолчанию NonceProvider использует простой HashMap, поэтому он не будет использоваться на всех серверах. Но интерфейс тривиален, поэтому вы можете легко реализовать хранилище базы данных. Если ваше решение балансировки нагрузки использует липкие сеансы, это не будет проблемой, потому что клиенты будут обращаться к серверу, у которого есть их nonce.

Обратите внимание, что репликация сеанса Tomcat не поможет в вышеупомянутых проблемах, поскольку клиенты webdav обычно не поддерживают файлы cookie, поэтому сеанс сервлета отсутствует.