![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Из заявленного бюджета это было не очевидно |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Wowa,
Ну Вам виднее. Думаю, вебсервер в Вашей системе будет далеко не самым узким местом, и вряд ли прирост производительности менее 10% стоит проблем, которые вы получите с написанием собственного вебсервера. Я писал в какой-то степени подобные вещи - на отладку уходит довольно много времени. Причем отладку на реальной нагрузке. Так как многие баги начинают выползать только тогда. А потом переделал все под TomCat и прошла голова. Это сообщение отредактировал(а) Vasay - 25.4.2009, 23:07 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| nucer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 21.6.2004 Где: Москва Репутация: -1 Всего: 0 |
хех 200 долларов - сумма хочу сказать )
хотя.. кризис... кто знает )) Я бы на вашем месте сам бы взял и написал такую програмулю, тем более что задача интересная и, видимо, не очень стандартная, а как начнешь делать - там копать и копать, за 200 вряд ли кто то сделает качественно и до конца НО это всего лишь имхо |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
не долларов, а евро. Я не понимаю насмешек. Тут работы даже мне на день(я в Яве мало программил), ну максимум на два. Не пишу я сам, т.к. занят другой разработкой. Я не могу программить все части системы сам. P.S. На ПХП такое я бы вообще за час написал. Проблема лишь в том, что на ПХП веб-сервер не сделаешь. Да какие-же там 10%. Там гораздо больше. Иначе следуя твои словам все сервисы должны были бы через Томкат работать. Даже memcache или СУБД. Везде коннект напрямую. |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Wowa,
Ну так там не нужен http Томкэт пишется давно, применяется как основа для серверов приложений. Я думаю, он достаточно неплохо вылизан. Не напишут Вам за 200 евро столь же качественный продукт! Сейчас напишут, Вы оттестите - вроде все ок, а когда пойдет работа под нагрузкой - начнутся проблемы... а автора ищи потом. Знаем, плавали! Мне кажется, что зря Вы вообще, что-то изобретаете. Почему не воспользоваться готовыми решениями? Вы думаете что они будут медленней? Сильно сомневаюсь. Возьмите сервер приложений. Там все уже есть - и load balancing и распределенный кэшь. И головной боли не будет да и скорость всяко не ниже будет! -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Так мы вас и пытаемся убедить, что не надо вам веб-сервер делать самому. Ни на ПХП, ни на Java. Используйте Апач, а все остальное за час напишите. |
|||
|
||||
| Wowa |
|
||||||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
Нужна работа на 80-ом порту, чтобы фаерволлами не блокировалось. http нужен лишь для того, чтобы браузер запрос правильно посылал и результат обрабатывал. Это фунционал реализован в приведенном мною коде выше. Вот именно, что Томкат давно пишется и кода там намного больше. Больше кода - больше ошибок и медленнее производительность.
Использоваться будут ведь готовые классы с java.net. А код и логика очень простые. Сомневаюсь, что проблемы будут из-за нагрузки будут. код простой. Если будет баг, то его исправить любой разработчик сможет.
Что я изобретаю? У нас есть Package java.net и с помощью него легко реализуется мини веб-сервер. Это готовое решение. Необходимо лишь добавить опрос локального и распределенного кешов + базы, при необходимости.
У меня уже есть load balancing и кеш распределенный. Зачем мне сервер приложений. Добавлено @ 00:38
Я не понимаю зачем мне Апач или Томкат. Если я могу сразу прогу повесить слушать 80-ый порт. Поступает запрос - отдаются данные. Всё. |
||||||||
|
|||||||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Wowa,
Хорошо - вопрос закрыт, Вам виднее. Тогда разрешите пару замечаний по вашему объявлению: - по-моему, Вы в ТУ забыли написать про заполнение кэшей. - свой кэш - это тоже memcached, или его надо реализовать на сервере? Снова вернусь к вопросу из своего первого поста "2. Если нет, то посмотреть в мемкеше на каком-нить другом сервере. Есть ли там такая инфа." Что значит, "на каком-нить другом сервере"? Как выбирается этот "какой-нить" сервер? п.с. Если не секрет - сколько запросов в минуту Вы хотите обрабатывать? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| Wowa |
|
||||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
я не удтверждаю, что мне виднее. В споре рождается истина. Но пока на мой взгляд никто так и не объяснил аргументированно, чем Томкат или Апаче лучше для данной задачи. Если данных в кеше нет, то они извлекаются из источника(это может быть мемкеш, а если и там нет, то база), заносятся в кеш и отдаются юзеру.
свой кеш.. Это просто объект... Прога постоянно в памяти ведь висеть будет, а поэтому всё, что в объекте храним - будет доступно. Т.е. я предполгаю, что нужно просто добавлять новые данные в singleton объект и заводить ключ доступа к этим данным. Таких-вот мини-данных может быть очень много, фактически миллионы.. Есть возражения?
Есть методика, которая позволяет по ключу определить мемкеш сервер, на котором находятся данные соответствующие этому ключу.
Мне это очень сложно предположить. Но кол-во запросов будет расти постоянно и сильно. Т.е. мне нужно решение, которое будет обрабатывать максимально возможное кол-во запросов и горизонтально масштабируемое. Горизонтальное масштабирование мы получаем, если делать по предложенному мною варианту - т.е. куча серверов одиночек с возможность добавить любое кол-во доп. серверов. Все они имеют доступ к общему мемкешу и общей базе. А максимально возможное кол-во запросов мы сможем обработать, если напрямую 80-ый порт слушать. Без использования доп. сервера. |
||||||
|
|||||||
| nucer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 21.6.2004 Где: Москва Репутация: -1 Всего: 0 |
может мой вопрос есть глупый, но.... )
прпрочитав тему не увидел описания что собственно такое етот мемкеш, точнее как именно он реализован и каким образом джава-програмульки собираются получать к нему доступ? P.S. и ведь чтобы что то взять нужно сначала что то положить? )) Это сообщение отредактировал(а) nucer - 26.4.2009, 10:29 |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
http://www.danga.com/memcached/ API: http://code.google.com/p/memcached/wiki/Clients |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 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 |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
авторизация не нужна. Насчет пула потоков не знаю. Предполагаю, что наверное имеет смысл создать несколько сотен "ждущих" потоков сразу при запуске проги, чтобы не тратить время на создание нового потока. Хотя все треды будут легкими, т.е. вряд ли долго создаваться должны. Кто-нить может сказать, когда такой пул оправдан? |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Wowa, Вы уж извините, что мы вместо того, что бы предлагать свои услуги развели тут базардискуссию. Просто раздел форума к этому располагает
Есть. И опять сводится к "готовое vs самописное" Не думаю, что есть смысл реализовывать систему кэша самому. Ведь я так понимаю, нужно контролировать размер, замещать старые объекты... Есть готовые решения: Java Caching System По русски: http://www.ibm.com/developerworks/ru/libra...&S_CMP=GR01 Да можно и memcached поднять. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Если есть запас памяти, чтобы сразу выделить ее под потоки, так и оправдан. Вот кстати пример http://java.sun.com/j2se/1.5.0/docs/api/ja...torService.html |
|||
|
||||
![]()
|
| Правила форума "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. |