Надежное обслуживание данных - PullRequest
1 голос
/ 01 октября 2009

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

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

Я слежу за Потоковая передача больших файлов в сервлете Java

Ответы [ 2 ]

3 голосов
/ 18 апреля 2010

Если это статические файлы, просто ссылку на него напрямую .Все достойные сервлетконтейнеры / приложения имеют хорошо развитый DefaultServlet.Если это статические файлы, расположенные за пределами веб-приложения, из которого вы их связали, то вы также можете просто добавить корневую папку этих файлов в качестве другого контекста.Неясно, какой сервер вы используете, но если бы это был Tomcat, вы могли бы просто добавить новый <Context> к server.xml:

<Context docBase="/path/to/static/files" path="/files" />

Таким образом, он доступен для http://example.com/files/....

Если это динамически генерируемые файлы или файлы, поступающие из базы данных, то вам необходимо разработать сервлет, который эффективно выполняет работу ввода-вывода: т.е. не нужно без необходимости хранить все данные в памяти (например, в ByteArrayInputStream или * 1015).* перед отправкой их на выход. Просто запишите байты немедленно в вывод по мере его поступления. Вы можете найти эти примеры базового файлового сервлета и более расширенного fileservlet (поддержка резюме и т. д.) полезен.

0 голосов
/ 01 октября 2009

Если вы просто обслуживаете статические файлы из файловой системы, просто используйте Apache - это будет лучше, чем все, что вы напишите сами.

...