Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть работка :) Разработать мини-вебсервер. оплата 200 евро 
:(
    Опции темы
COVD
Дата 25.4.2009, 23:00 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

нужно ОЧЕНЬ много запросов обрабатывать.

Из заявленного бюджета это было не очевидно  smile .

PM MAIL   Вверх
Vasay
Дата 25.4.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 11
Всего: 73



Wowa, 

Ну Вам виднее. Думаю, вебсервер в Вашей системе будет далеко не самым узким местом, и вряд ли прирост производительности менее 10% стоит проблем, которые вы получите с написанием собственного вебсервера. 

Я писал в какой-то степени подобные вещи - на отладку уходит довольно много времени. Причем отладку на реальной нагрузке. Так как многие баги начинают выползать только тогда.  А потом переделал все под TomCat и прошла голова.  

Это сообщение отредактировал(а) Vasay - 25.4.2009, 23:07


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
nucer
Дата 25.4.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 21.6.2004
Где: Москва

Репутация: -1
Всего: 0



хех 200 долларов - сумма хочу сказать )
хотя.. кризис... кто знает ))
Я бы на вашем месте сам бы взял и написал такую програмулю, тем более что задача интересная и, видимо, не очень стандартная, а как начнешь делать - там копать и копать, за 200 вряд ли кто то сделает качественно и до конца
НО это всего лишь имхо  smile 
PM MAIL   Вверх
Wowa
Дата 25.4.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(nucer @  25.4.2009,  22:07 Найти цитируемый пост)
хех 200 долларов - сумма хочу сказать )

не долларов, а евро. Я не понимаю насмешек. Тут работы даже мне на день(я в Яве мало программил), ну максимум на два. Не пишу я сам, т.к. занят другой разработкой. Я не могу программить все части системы сам.

P.S. На ПХП такое я бы вообще за час написал. Проблема лишь в том, что на ПХП веб-сервер не сделаешь.


Цитата(Vasay @  25.4.2009,  22:03 Найти цитируемый пост)
и вряд ли прирост производительности менее 10%

Да какие-же там 10%. Там гораздо больше. Иначе следуя твои словам все сервисы должны были бы через Томкат работать. Даже memcache или СУБД. Везде коннект напрямую.
PM WWW   Вверх
Vasay
Дата 26.4.2009, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 11
Всего: 73



Wowa, 

Цитата

Да какие-же там 10%. Там гораздо больше. Иначе следуя твои словам все сервисы должны были бы через Томкат работать. Даже memcache или СУБД. Везде коннект напрямую.


Ну так там не нужен http  smile 

Томкэт пишется давно, применяется как основа для серверов приложений. Я думаю, он достаточно неплохо вылизан. Не напишут Вам за 200 евро столь же качественный продукт!  Сейчас напишут, Вы оттестите - вроде все ок,  а когда пойдет работа под нагрузкой - начнутся проблемы... а автора ищи потом. Знаем, плавали!  


Мне кажется, что зря Вы вообще, что-то изобретаете. Почему не воспользоваться готовыми решениями? Вы думаете что они будут медленней? Сильно сомневаюсь. 

Возьмите сервер приложений. Там все уже есть - и load balancing и распределенный кэшь. И головной боли не будет да и скорость всяко не ниже будет!


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
COVD
Дата 26.4.2009, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

P.S. На ПХП такое я бы вообще за час написал. Проблема лишь в том, что на ПХП веб-сервер не сделаешь.

Так мы вас и пытаемся убедить, что не надо вам веб-сервер делать самому. Ни на ПХП, ни на Java.  Используйте Апач, а все остальное за час напишите.
PM MAIL   Вверх
Wowa
Дата 26.4.2009, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(Vasay @  25.4.2009,  23:12 Найти цитируемый пост)
Ну так там не нужен http  smile 

Нужна работа на 80-ом порту, чтобы фаерволлами не блокировалось. http нужен лишь для того, чтобы браузер запрос правильно посылал и результат обрабатывал. Это фунционал реализован в приведенном мною коде выше.


Цитата(Vasay @  25.4.2009,  23:12 Найти цитируемый пост)
Томкэт пишется давно, применяется как основа для серверов приложений. Я думаю, он достаточно неплохо вылизан. Не напишут Вам за 200 евро столь же качественный продукт!  Сейчас напишут, Вы оттестите - вроде все ок,  а когда пойдет работа под нагрузкой - начнутся проблемы..

Вот именно, что Томкат давно пишется и кода там намного больше. Больше кода - больше ошибок и медленнее производительность. 

Цитата

а когда пойдет работа под нагрузкой - начнутся проблемы

Использоваться будут ведь готовые классы с java.net. А код и логика очень простые. Сомневаюсь, что проблемы будут из-за нагрузки будут.

Цитата(Vasay @  25.4.2009,  23:12 Найти цитируемый пост)
. а автора ищи потом. Знаем, плавали!  

код простой. Если будет баг, то его исправить любой разработчик сможет.


Цитата(Vasay @  25.4.2009,  23:12 Найти цитируемый пост)
Мне кажется, что зря Вы вообще, что-то изобретаете. Почему не воспользоваться готовыми решениями? Вы думаете что они будут медленней? Сильно сомневаюсь. 

Что я изобретаю? У нас есть Package java.net и с помощью него легко реализуется мини веб-сервер. Это готовое решение. Необходимо лишь добавить опрос локального и  распределенного кешов + базы, при необходимости.


Цитата(Vasay @  25.4.2009,  23:12 Найти цитируемый пост)
Возьмите сервер приложений. Там все уже есть - и load balancing и распределенный кэшь. И головной боли не будет да и скорость всяко не ниже будет! 

У меня уже есть load balancing и кеш распределенный. Зачем мне сервер приложений.

Добавлено @ 00:38
Цитата(COVD @  25.4.2009,  23:27 Найти цитируемый пост)
Так мы вас и пытаемся убедить, что не надо вам веб-сервер делать самому. Ни на ПХП, ни на Java.  Используйте Апач, а все остальное за час напишите. 

Я не понимаю зачем мне Апач или Томкат. Если я могу сразу прогу повесить слушать 80-ый порт. Поступает запрос - отдаются данные. Всё.
PM WWW   Вверх
Vasay
Дата 26.4.2009, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 11
Всего: 73



Wowa, 

Хорошо - вопрос закрыт, Вам виднее.



Тогда разрешите пару замечаний по вашему объявлению:

- по-моему, Вы в ТУ забыли написать про заполнение кэшей.
- свой кэш - это тоже memcached, или его надо реализовать на сервере?

Снова вернусь к вопросу из своего первого поста 
"2. Если нет, то посмотреть в мемкеше на каком-нить другом сервере. Есть ли там такая инфа."

Что значит, "на каком-нить другом сервере"?  Как выбирается этот "какой-нить" сервер?


п.с. Если не секрет - сколько запросов в минуту Вы хотите обрабатывать?


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Wowa
Дата 26.4.2009, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(Vasay @  26.4.2009,  00:16 Найти цитируемый пост)
Хорошо - вопрос закрыт, Вам виднее.

я не удтверждаю, что мне виднее. В споре рождается истина. Но пока на мой взгляд никто так и не объяснил аргументированно, чем Томкат или Апаче лучше для данной задачи.


Цитата(Vasay @  26.4.2009,  00:16 Найти цитируемый пост)
- по-моему, Вы в ТУ забыли написать про заполнение кэшей.

Если данных в кеше нет, то они извлекаются из источника(это может быть мемкеш, а если и там нет, то база), заносятся в кеш и отдаются юзеру.


Цитата(Vasay @  26.4.2009,  00:16 Найти цитируемый пост)
- свой кэш - это тоже memcached, или его надо реализовать на сервере?

свой кеш.. Это просто объект... Прога постоянно в памяти ведь висеть будет, а поэтому всё, что в объекте храним - будет доступно. Т.е. я предполгаю, что нужно просто добавлять новые данные в singleton объект и заводить ключ доступа к этим данным. Таких-вот мини-данных может быть очень много, фактически миллионы.. Есть возражения?


Цитата(Vasay @  26.4.2009,  00:16 Найти цитируемый пост)
Что значит, "на каком-нить другом сервере"?  Как выбирается этот "какой-нить" сервер?

Есть методика, которая позволяет по ключу определить мемкеш сервер, на котором находятся данные соответствующие этому ключу.

Цитата(Vasay @  26.4.2009,  00:16 Найти цитируемый пост)
п.с. Если не секрет - сколько запросов в минуту Вы хотите обрабатывать? 

Мне это очень сложно предположить. Но кол-во запросов будет расти постоянно и сильно. Т.е. мне нужно решение, которое будет обрабатывать максимально возможное кол-во запросов и горизонтально масштабируемое. Горизонтальное масштабирование мы получаем, если делать по предложенному мною варианту - т.е. куча серверов одиночек с возможность добавить любое кол-во доп. серверов. Все они имеют доступ к общему мемкешу и общей базе.

А максимально возможное кол-во запросов мы сможем обработать, если напрямую 80-ый порт слушать. Без использования доп. сервера.
PM WWW   Вверх
nucer
Дата 26.4.2009, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 21.6.2004
Где: Москва

Репутация: -1
Всего: 0



может мой вопрос есть глупый, но.... )
прпрочитав тему не увидел описания что собственно такое етот мемкеш, точнее как именно он реализован и каким образом джава-програмульки собираются получать к нему доступ?

P.S. и ведь чтобы что то взять нужно сначала что то положить? ))

Это сообщение отредактировал(а) nucer - 26.4.2009, 10:29
PM MAIL   Вверх
Wowa
Дата 26.4.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(nucer @  26.4.2009,  09:27 Найти цитируемый пост)
прпрочитав тему не увидел описания что собственно такое етот мемкеш, точнее как именно он реализован и каким образом джава-програмульки собираются получать к нему доступ?

http://www.danga.com/memcached/

API:
http://code.google.com/p/memcached/wiki/Clients

PM WWW   Вверх
COVD
Дата 26.4.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Wowa. Теперь, наконец, стало понятно, что все, что вы хотели, это прикрутить пример java-client для memcached к вашему java-коду, реализующему http-server. И, действительно, PHP-client вы бы и сами прикрутили наверное за час. А Java вы решили использовать, чтобы ускорить обработку http запросов. И это не подвергается сомнению. Рассуждения Томкат vs ваш код основывались на общих соображениях готовое vs самописное. Но, оказалось, что вам логгирование не нужно, сессии не нужны. Наверное, и авторизация и пул потоков тоже не нужны. Или вы потом добавите.

 




  

Это сообщение отредактировал(а) COVD - 26.4.2009, 13:35
PM MAIL   Вверх
Wowa
Дата 26.4.2009, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(COVD @  26.4.2009,  11:57 Найти цитируемый пост)
Наверное, и авторизация и пул потоков тоже не нужны. 

авторизация не нужна. Насчет пула потоков не знаю. Предполагаю, что наверное имеет смысл создать несколько сотен "ждущих" потоков сразу при запуске проги, чтобы не тратить время на создание нового потока. Хотя все треды будут легкими, т.е. вряд ли долго создаваться должны. Кто-нить может сказать, когда такой пул оправдан?
PM WWW   Вверх
Vasay
Дата 26.4.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 11
Всего: 73



Wowa,  Вы уж извините, что мы вместо того, что бы предлагать свои услуги развели тут базардискуссию. Просто раздел форума к этому располагает smile


Цитата

свой кеш.. Это просто объект... Прога постоянно в памяти ведь висеть будет, а поэтому всё, что в объекте храним - будет доступно. Т.е. я предполгаю, что нужно просто добавлять новые данные в singleton объект и заводить ключ доступа к этим данным. Таких-вот мини-данных может быть очень много, фактически миллионы.. Есть возражения?


Есть. И опять сводится к  "готовое vs самописное" Не думаю, что есть смысл реализовывать систему кэша самому. Ведь я так понимаю, нужно контролировать размер, замещать старые объекты... Есть готовые решения: Java Caching System По русски: http://www.ibm.com/developerworks/ru/libra...&S_CMP=GR01  Да можно и memcached поднять.




--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
COVD
Дата 26.4.2009, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

Кто-нить может сказать, когда такой пул оправдан?

Если есть запас памяти, чтобы сразу выделить ее под потоки, так и оправдан. Вот кстати пример http://java.sun.com/j2se/1.5.0/docs/api/ja...torService.html
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.