LINUX.ORG.RU
ФорумTalks

как вы думаете, почему проекты высокой нагрузки (фб, вк) написаны на рнр и не тормозят?

 


1

2

ведь бытует мнение (?), что пых-пых годится лишь для хоумпаги васи.

а ведь есть же отлично мастабируемые (добавлением новых стоек серверов) проекты на пыхи. без намека на лаги.

почему там нет Илитных языков?


Ответ на: комментарий от boombick

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

надо вначале подумать, может проблемы можно не решать вообще :)

например, есть у нас MMORPG. Отлично работает на 5 тысячах человек, на 10 - уже предел вертикального масштабирования. Что делать? Не масштабировать. Сделать еще один игровой мир тупым клонированием сервера, поставить планку зарегистрированных пользователей в 6 тысяч на каждом.

пример - World of Warcraft, SWTOR, все остальные крупные ммо

например, есть у нас документы в вики. Три года документы хранятся, а четыре - уже предел. Что делать? Два урла: old.documents.local и new.documents.local.

пример - куча организаций, которых «интеграторы интегрировали, но не выинтегрировали». Например, есть какая-то помойка в Шарепоинте с новыми документами, начиная с 2011, и локальная шара со старыми документами.

которые будут пытаться это наколенный протокол расширять и внедрять

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

а жаба отлично рефакторится. Refactor rename - действительно ли вы хотите изменить 13 541 файла? О да, действительно. Полное говно, но оно просто работает. В то время как на питоне (не имея возможности быстрого и простого рефакторинга) нужно возводить мегафункциональные мегаабстракции, всеобщие теории всего, итп

И что есть «базовая платформа», кстати?

хорошо иметь что-то типа iOS/OSX SDK. Установил на комп, прочитал книжку «все что нужно знать разработчику», пошел печь пирожки, well done

может, для вской науки и прогресса такой подход не очень.

после того, как тебя уволят из-за профнепригодности

ты хотел сказать «заказчик не примет результат»? Заказчик примет. Ведь оно работает.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

И что есть «базовая платформа», кстати?

хорошо иметь что-то типа iOS/OSX SDK. Установил на комп, прочитал книжку «все что нужно знать разработчику», пошел печь пирожки, well done


ээээ... я тебе большую тайну открою: iOS/OSX SDK - это не язык программирования.. там язык: Objective-C и «базовая платформа» у него не лучше чем у PHP.

Если ты в таких абстракциях рассуждаешь, то:
Zend Framework, Symfony, Kohana, Yii

вперед.

BaBL ★★★★★
()
Ответ на: комментарий от stevejobs

Отлично работает на 5 тысячах человек

Мои проекты отлично работают на 3-4М хитов/сутки :) Я имею в виду, естественно, динамические вызовы, статику не считаем. И да, живут они на 20-30 серверах (каждый) и прекрасно себя чувствуют. Памяти на каждом не больше 16Gb, в основном - 8, только для сфинкса обычно ставлю 16, ему хочется

Сделать еще один игровой мир тупым клонированием сервера, поставить планку зарегистрированных пользователей в 6 тысяч на каждом.

А роутить все балансером? :) Поздравляю, ты изобрел шардинг :)

В Эрланге все так делается, там люди настолько суровы, что даже не в курсе, есть ли у них тулзы для рефакторинга

Вот только не надо рассказывать мне про Эрланг :) Я на нем успешно пишу и представляю, что это такое и с чем это едят. И если в твоем мире все так делается, то принимай соболезнования. В _больших_ _коммерческих_ проектах никто ничего просто так не выкидывает, никогда. Ибо чревато попадосом на серьезное бабло. Поэтому там сначала думают, потом делают.

В то время как на питоне (не имея возможности быстрого и простого рефакторинга) нужно возводить мегафункциональные мегаабстракции

Кому нужно? Вообще highload == Keep It Simple Stupid. И в этом вся сложность разработки веб-проектов под большую нагрузку. Каждый новый девелопер в моей команде всегда стремится наворотить именно такого. После двух-трех месяцев, обычно, подобные желания успешно умирают. Все делается как можно проще и линейнее, а жабовские декораторы фабрики адаптеров фабрик фабрик фабрик тут не канают вообще никак. И решения на жабе (как в моем случае этот гребаный neo4j) внедряются совсем уж от безысходности. И то, для того, чтобы эта дрянь могла нормально масштабироваться и деплоиться, пришлось написать солидную питонячью обвязку вокруг нее

ты хотел сказать «заказчик не примет результат»? Заказчик примет. Ведь оно работает.

Я сказал именно то, что хотел сказать. У ВК и ФБ (равно как у многих больших проектов) работу принимает не заказчик, а техдиры и сеньоры, которые очень в теме. Делают жесткий code review и оценивают не красоту иерархии классов, а применимость решения в условиях текущего состояния production-среды. «Оно работает» - это подход школьников-быдлокодеров на потогонках, в моем случае код уходит на продакшен только в случае «оно работает, не создает проблем окружающим сервисам, умеет красиво умереть и сообщить об этом всем зависимым компонентам, внятно и грамотно пишет логи, не встает колом в случае недоступности внешних источников данных, не создаёт оверхед по ресурсам и умеет горизонтально отмасштабироваться на любое количество серверов. При этом документировано и в таск-трекере помечено как solved»

Установил на комп, прочитал книжку «все что нужно знать разработчику», пошел печь пирожки, well done

Не надо тебе в маськву, там таких на рубль пучок можно купить.

boombick ★★★★★
()
Ответ на: комментарий от boombick

ну, ты бог, делающий крутые вещи. А я не смогу заказчику продать рефакторинг «оно работает, не создает проблем» и дальше по тексту, потому что они скажут «да хай работает как придется, мы тут еще сто фич придумали, запили их ко вчера, а лучше - ко в прошлом году». Спасибо что рассказал историю о маленьком программистском рае :)

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

ну, ты бог, делающий крутые вещи

Да, именно так :)

Спасибо что рассказал историю о маленьком программистском рае :)

Приходи к нам работать :) Научишься всем фишкам и фишечкам, получишь хороший полезный опыт. Потом сможешь сам выбирать себе рай по вкусу. ЕМНИП, у нас были еще открыты вакансии питонистов, точно смогу сказать после праздников

boombick ★★★★★
()
Ответ на: комментарий от boombick

не нужны кодерские вакансии вообще :( Пишу сейчас игрушку на PHP, в дань детской мечте писать игрушки. Дальше будет CTO на каком-нибудь неайтишном предприятии, нуждающемся во внедрении «новых технологий». Или менеджер по производству, системе качества и бизнес-процессов, чего-то такого - в айтишном. Главная проблема - мне абсолютно не интересно программирование как таковое, алгоритмы, красота кода итп, составляющее радость кодера - мне важно чтобы цыферки метрик у следующего релиза совпадали с бизнес-планом :)

спасибо за приглашение. это очень-очень приятно!

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Иди в QA :) Там очень любят, чтобы цифирки совпадали :)

boombick ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.