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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Высоконагруженый WEB проект 
:(
    Опции темы
isergey
Дата 5.4.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.5.2008

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



Недавно посмотрел доклад http://highload.ru/papers2008/7146.html В нем автор предлагает писать онлайн игры проекты с высокой нагрузкой на ява. Хотелось бы узнать ваше мнение по этому поводу, в частности какие технологии и решения использовать, расход памяти, серверы, балансировка нагрузки. Так же хотелось бы узнать, как nginx сочетается с java серверами и стоит ли его использовать.
Думаю, что эта информация будет интересна не только для меня.

P.S. Так скажите мне, почему все ругают php и продолжают писать на нем достаточно серьезные проекты, а не, например, на яве?

Это сообщение отредактировал(а) isergey - 5.4.2009, 17:22
PM MAIL   Вверх
Platon
Дата 5.4.2009, 18:29 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 10
Всего: 40



Цитата(isergey @  5.4.2009,  18:20 Найти цитируемый пост)
Недавно посмотрел доклад

тоже посмотрю.


Цитата(isergey @  5.4.2009,  18:20 Найти цитируемый пост)
Так же хотелось бы узнать, как nginx сочетается с java серверами и стоит ли его использовать.

я думаю, никак. В Java есть свои сервера приложений и веб контейнеры.


Цитата(isergey @  5.4.2009,  18:20 Найти цитируемый пост)
Так скажите мне, почему все ругают php и продолжают писать на нем достаточно серьезные проекты, а не, например, на яве?

консерватизм, куча материалов, динамизм и простота внесения изменений, дешевизна рабочей силы и т.п.
Плоский проект к коим отношу навороченые порталы, социальные сети и прочую лабуду, у которой по сути нет никаких скрытых процессов, только "реакция на действие пользователя" можно без проблем и опаски писать на PHP
Веб приложения, в которых главное слово "приложение", а не "веб", и в которых происходит много скрытых процессов, к примеру реалтайм онлайн игры, лучше использовать полноценную технологию.

PHP медленнее Java в 5-6 раз, однако Java программисты уравнивают шансы технологий с помощью громоздких многослойных суперуниверсальных фреймворков.

ЗЫ. Я тоже ругаю PHP, однако сайтики пописываю именно на нем.

Это сообщение отредактировал(а) Platon - 5.4.2009, 18:47
PM MAIL ICQ   Вверх
isergey
Дата 5.4.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.5.2008

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



То что в Яве используются другие средства это понятно. Хотелось бы более конкретных примеров. Может быть у кого-то был опыт, поделитесь хотя бы поверхностным описанием. Спасибо.
PM MAIL   Вверх
Platon
Дата 5.4.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 10
Всего: 40



А то, что Java быстрей PHP в несколько раз ни о чем не говорит?
Добавлю еще то, что для PHP для скрипта каждый раз запускается приложение, которое работает через стандартный ввод вывод.
В Java приложение одно на все запросы, и мыслится, что использование ресурсов эффективней и не требуется постоянная инициализация переменных, ввод/вывод работает непосредственно с потоками сокетов, а не I/O.
PM MAIL ICQ   Вверх
COVD
Дата 5.4.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



isergey

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

Проекты же для широкой публики ("лабуда" smile  ) возникают пачками (и так же пачками умирают) обычно на пустом месте, т.е. на энтузиазме (без финансирования). Естественно, что там применяется наиболее распространенная и вследствие этого дешевая технология (LAMP), которой во многих случаях достаточно. Если же проект становится популярным, то через некоторое время он становится "высоконагруженным".  Но к этому моменту создатели должны быть уже "в шоколаде" и как-то решают эту приятную проблему.

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


Эксперт
****


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

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



Platon, 

Цитата

к примеру реалтайм онлайн игры


реалтайм игра не может быть web-приложением. Это клиент-серверное приложение. 
Даже если клиент работает в браузере, все равно он будет либо на флеше, либо на Java (или другие технологие). 


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


Эксперт
***


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

Репутация: 10
Всего: 40



Vasay, ну почему же? смотря какая игрушка? бывает достаточно точности веб приложения, к примеру когда у нас битва длится часами, вы полководец и нужно только следить за ходом сражения и отдавать приказы )

Добавлено через 2 минуты и 40 секунд
COVD, спасибо за плюсик.
Прошлую мою страстную речь тоже оценили http://forum.vingrad.ru/forum/topic-212124...y1517715/0.html
PM MAIL ICQ   Вверх
Samotnik
Дата 6.4.2009, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



Цитата(isergey @  5.4.2009,  16:20 Найти цитируемый пост)
почему все ругают php и продолжают писать на нем достаточно серьезные проекты, а не, например, на яве?

потому что не уволишь ведь всех ПХП программистов по всему миру  smile  Не будешь закрывать текущие старые проекты.  Все подготовительные центры.
Да и к тому же на ПХП проще писать, но возможностей там намного меньше. 
PM MAIL   Вверх
PashaOvechkin
Дата 6.4.2009, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Цитата(Platon @ 5.4.2009,  18:29)

... PHP медленнее Java в 5-6 раз...

Да ну smile
PM MAIL Skype   Вверх
Samotnik
Дата 6.4.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



Цитата(PashaOvechkin @  6.4.2009,  11:56 Найти цитируемый пост)
Да ну

Ну да  smile 
PM MAIL   Вверх
Vasay
Дата 6.4.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Platon, 

Цитата

Vasay, ну почему же? смотря какая игрушка? бывает достаточно точности веб приложения, к примеру когда у нас битва длится часами, вы полководец и нужно только следить за ходом сражения и отдавать приказы )


Принцип работы веб приложения:
есть сервер (апач, томкет...), есть клиент (браузер).

Клиент посылает запрос к серверу - открывается соединение, читается запрос, запускается соответствующий обработчик, готовится ответ, отправляется ответ, соединение закрывается.  Никакого реалтайма. Обычно на вебсерверах есть ограничение на время обработки одного запроса. 


Принцип работы сетевой реалтайм игры: 
есть сервер, есть клиент.
Между сервером и клиентом установлено постоянное  соединение. Между ними идет постоянный обмен данными в реальном времени (игра то у нас реалтайм). 


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


Эксперт
***


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

Репутация: 10
Всего: 40



Vasay, да, но ничто не мешает затем java приложению продолжать обрабатывать данные, полученные при запросе пользователя, отпустив соединение с пользователем. Вот это я имел ввиду. К примеру даже передвижение войск в какой-нибудь травиан (браузерная игрушка), точность вычисления событий в Java будет выше и меньше ресурсов, чем запускать N раз в секунду скрипт обновления состояния.
Вот это я имел ввиду.
ЗЫ. несомненно утрирую, но смысл показать ограниченность PHP
PM MAIL ICQ   Вверх
Platon
Дата 12.4.2009, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 10
Всего: 40



Наконец-то нашлась минутка, вытекшая в час просмотра видео.
Какие впечатления: лектор (или как его там) действительно описывал то, что в Java само собой разумеющееся. 
  • Все запросы через 1 процесс, что позволяет оформлять не только взаимодействие между пользователями в режиме реалтайм, но и эффективно использовать ресурсы. 
  • Java - система если не архинадежная, то просто надежная, и любой запрос в случая возникновения в нем исключительной ситуации можно изолировать блоком try{} catch {}.
  • Когда смотрел доклад, и разговор шел про memcahce, зачем нам нужен SQL и т.д. у меня в сознании вспомнилась тема, в которой я говорил уже давненько про объектную базу данных, но не получила развития ввиду отсутствия подобных проектов. Кстати эту базу упомянули в вопросной части доклада ) Более того по Java EE форуму частенько проскакивают вопросы, связанные с JPA + Cache


В общем, Java для браузерных и онлайн игр - естественное и наиболее эффективное решение.

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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