![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
||||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Товарищ Wowa, а Вы форумом не ошиблись
Сейчас придет злой админ и Вас забанит п.с. пара вопросов 1. не совсем понятен данный пункт: "2. Если нет, то посмотреть в мемкеше на каком-нить другом сервере. Есть ли там такая инфа." 2. Это должен быть именно вебсервер, или это можно сделать на, скажем, TomCat-е? Опишите подробней задачу. Это сообщение отредактировал(а) Vasay - 25.4.2009, 17:51 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| Wowa |
|
||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
объясняю. Планируется высокая нагрузка. Поэтому такие явовские веб-сервера будут запущены на N машинах. Сначала смотрять наличие данных у себя в памяти, если их нет, то в распредленной кеш-системе мемкеш. К этой кеш-системе все сервера доступ имеют.
именно веб-сервер. т.к. нагрузка планируется большая. Томкат промежуточным слоем делать нет никакой необходимости. Даже мои скажем так скудные знания ява позволяют мне создать на нем веб-сервер за 15 минут.. Т.е. не думаю, что это проблема. Есть еще вопросы? |
||||
|
|||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Wowa,
Мне кажется, вы изобретаете велосипед. Не стоит гнаться за производительностью (особый прирост все равно не получите). Возьмите сервер приложений в связке с БД. Настройте connection pool. Как только производительности станет не хватать - создайте кластер и настройте балансировку нагрузки (можно делать отдельно для БД и сервера приложений). Это обойдется вам дешевле, чем писать сервер с нуля. Так как 200евро это не та сумма за которую Вы найдете специалиста способного все грамотно написать. Все же, с учетом нагрузки, работа предстоит не простая. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
В Томкате необходимость есть. Потому, что кто-то должен слушать 80 порт, парсить http запросы и отправлять http ответы. Самим писать эту часть, т.е. http server, давно уже нет необходимости. И этот "Томкат" (или что-то подобное) может быть как standalone , так и компонент сервера приложений. Самим надо писать подготовку ответа на запрос, всю эту логику - поискать там, поискать здесь и т.д. И это приложение (по сути, это сервис), которое будет заниматься подготовкой ответа, никакого отношения к словам web или http не имеет. Если только оно само не реализовано как веб сервис (но в этом нет острой нужды, если это сервис для внутренних нужд и в локальной сети). Это сообщение отредактировал(а) COVD - 25.4.2009, 21:22 |
|||
|
||||
| Wowa |
|
||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
да как же в этом нет необходимости, если это несколько строчек кода всего-лишь? Мне потому и нужна ява, чтобы не использовать громоздкий вебсервер. Иначе бы я Апаче заюзал или его легковесный вариант. Добавлено @ 21:19 Запускается прога, которая висит в памяти и слушает все время заданный порт. Как только поступает определенный запрос, то прога его обрабатывает. Добавлено @ 21:26 Вот и весь веб-сервер. С поддержкой тредов.
|
||||
|
|||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Вот этим Томкат и занимается. Больше ничем и не должен. Сервлет, пропарсив запрос, должен отослать параметры запроса на другое приложение (сервис, который что-то ищет в памяти или еще где), дождаться ответа сервиса и переслать его клиенту. От Томката больше ничего не требуется. Это http server. В Апаче функции, аналогичные сервлету, выполняет cgi скрипт, очевидно. В обоих случаях (Апач или Томкат) не стоит возлагать на них что-либо кроме их прямой обязанности - обслуживания http запрос-ответ. Это сообщение отредактировал(а) COVD - 25.4.2009, 21:39 |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
COVD, зачем мне томкат, если минимальный код выше делает все необходимое?
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Так я вас не отговариваю, используйте свой код. Вы предполагаете, что ваш код лучше работает, чем Апач или Томкат? Или вы место на диске экономите? Они, по крайней мере, являются индустриальным стандартом. Это сообщение отредактировал(а) COVD - 25.4.2009, 21:48 |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
Ну я же описал задачу, а вы мне Томкат предлагаете, когда необходимый функционал, на мой взгляд, делается кодом изложенным выше и работать будет конечно быстрее чем Апаче и Томкат. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Я не думаю, что отказ от стандартных http серверов решает проблему высокой нагрузки или является весомым вкладом. т.е. я согласен с мнением Vasay "Не стоит гнаться за производительностью..".
|
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Wowa,
Вы в этом так уверены? Тот код, который Вы привели до нормальной работоспособности еще писать и писать. Для начала нужно ввести ограничение на количество открытых сокетов, придумать, что делать с теми для кого уже нет свободного.... и пошло поехало. Да, используя томкэт, у вас не будет проблем с балансировкой нагрузки - томкэт умеет работать на кластере. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| Wowa |
|
||||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
нужно ОЧЕНЬ много запросов обрабатывать. Поэтому любая экономия это огромный плюс. Load balancer кидал бы запрос к одному из сотни серверов(с этим вебсервером). Далее явапрога делала бы своё дело. Добавлено @ 22:09
а какая у меня сейчас проблема с балансировкой? есть балансировщик и он кидает обращение на любой из серверов. Добавлено @ 22:11
что еще нужно? Добавлено @ 22:12 конечно уверен. Есть апаче, а есть lighthttpd, есть nginx. Это легковесные вебсервера и поэтому работают быстрее. А в моем случае даже их весь функционал не нужен. |
||||||
|
|||||||
| Vasay |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Все зависит от задачи... Может и не будет проблем, может и будут. Как насчет сессий? Кто будет отвечать за их поддержание (если они нужны).
Придумать как обрабатывать и логгировать эксепшены. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
| Wowa |
|
||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
сессии не нужны. если коннект не произошел, то он не произошел. Если эксепшен на уровне ниже(например нет коннекта к БД), то его что с Томкатом, что без него обрабатывать надо. Добавлено @ 22:48
Да нет там проблем. Все вебсервера незавимые друг от друга и помимо своего локального кеша, прикрыты центральным кешем-мемкешом(который через сокет работает). Поэтому даже если в локальном кеше какого-то сервера данных не будет, то он их с мемкеша получит. Данные кеша НЕ устаревают, т.е. отсутствует даже проблема их валидации. На один и тот же запрос всегда один и тот же ответ должен приходить. |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |