Comments 14
Valeriy_tw3eX вы действительно правы, кому задача тривиальна, а кому нет, в том числе и мне ;)
Есть такой нюанс, я решил оформить в виде заметки после того, когда мне колега скинул наброски таск менеджера, где нужно обновлять страницу, чтобы просмотреть новые) И это решение легко переложить на ror/python. Ну и на angularjs/backbone, вместо ванильного джс.
Первые шаги PHP, в мире реального времени, вы ввиду имели ))?
Создавая подобного рода новые проекты «рич» фронт приложений, я не вижу смысла включать в стек PHP в принципе.
Особенно если вы не юзает такие недокопии node рантайма, как симфони, фалькон или хотя бы кеши которые подвешивают ваше приложение в памяти.
Данный пример это скорей — как прибить гвоздями то все хорошее, что нет в мире PHP разработки.
Создавая подобного рода новые проекты «рич» фронт приложений, я не вижу смысла включать в стек PHP в принципе.
Особенно если вы не юзает такие недокопии node рантайма, как симфони, фалькон или хотя бы кеши которые подвешивают ваше приложение в памяти.
Данный пример это скорей — как прибить гвоздями то все хорошее, что нет в мире PHP разработки.
Там из php только коннектор, по факту. А мир php разработки — не сказал бы, что все настолько плохо. Я и сам обычно не пишу большие проекты на нем, но для того, чтобы сделать mvp — разработчиков куча. Если грамотно ими оперировать и ставить четко задачи, то проблем не возникает.
Обычно новорожденный проект может быть написан хоть в одном файле) А после запуска уже могут появиться деньги на хороших ребят и на хорошие решения. Это по моему опыту если судить.
Обычно новорожденный проект может быть написан хоть в одном файле) А после запуска уже могут появиться деньги на хороших ребят и на хорошие решения. Это по моему опыту если судить.
У вас очень большие стереотипы по поводу php. Он работает быстрее, нежели нода, кушает в 2-3 раза меньше, что проверено на практике. Раньше я тоже как вы считал, что реалтайм на пыхе — это не сильно решение под продакшн, пока на практике не увидел как приложение на Laravel 5 стеке кушает 10 метров, а такое же приложение на ноде в 5 раз больше под приложение + монитор forever.
Каким таким образом php работает быстрей ?)) Дайте линк на бенчмарк, где хотя бы какой-то кейс с php быстрей ноды.
И по памяти особенно
И по памяти особенно
Бенчмарков нет, есть лишь визуальное воприятие. Либо с алгоритмом в js версии беда, либо нода притормаживала. А с памятью — можно убедиться на практике: https://github.com/LaravelRUS/GitterBot master ветка на L5, devel на ноде.
Ну это не серъезный халивар) Я могу вам сказать почему, php всегда будет медленей основываясь не на «восприятии». Хотя учитывая, мой позапрошлый коммент, это без толку, всеравно не дойдет))
Хорошо, а если такая формулировка: «Запуская два варианта ботов на одной комнате — первым отвечает всегда на php»? Даже учитывая то, что нодовский по-умолчанию использует redis как БД, а на L5 только для кеша, основная бд — это mysql. Т.е. проблема не в базе. И это тоже можно запросто проверить, опять же запустив два разных инстанса на одной машине.
Боюсь это пустой разговор сродни — «Что-то мне плохо, вчера я выпил 10 шотов текилы и съел гамбугер. Да точно это из за гамбургера».
Нет, я утверждаю что это так и предлагаю самостоятельно убедиться в этом, предлагая исходники с инструкциями по установке. Хотя с другой стороны я согласен — это всё не убедительно, т.к. алгоритмы у них совершенно разные.
Предлагаю такой вариант, что бы можно было убедиться на практике. Например простой echo сервер на tcp соединение. Т.к. я нодой не пользуюсь совершенно — js реализация с вас. Пойдёт? Потом запустить на пару дней в два процесса, что бы перекидывались друг с другом, замерить количество потребляемой памяти и количство перекинутых сообщений\задержку, можно что-то то придумать.
Предлагаю такой вариант, что бы можно было убедиться на практике. Например простой echo сервер на tcp соединение. Т.к. я нодой не пользуюсь совершенно — js реализация с вас. Пойдёт? Потом запустить на пару дней в два процесса, что бы перекидывались друг с другом, замерить количество потребляемой памяти и количство перекинутых сообщений\задержку, можно что-то то придумать.
Есть вот такой бенчмарк https://philsturgeon.uk/php/2013/11/12/benchmarking-codswallop-nodejs-v-php/
Надо просто сравнивать в одинаковых дисциплинах
Надо просто сравнивать в одинаковых дисциплинах
Есть еще более тонкий стек технологий под описанную задачу http://socketo.me/docs/push и даже без Redis
Sign up to leave a comment.
Первые шаги в мир веба в реальном времени