Кому несколько фотонов быстрого света? :)

Не так давно я делал заметку про фреймворк для языка PHP, Laravel. Прошло какое-то время и я должен признаться, что я немного ошибся в предположениях. На практике 5 часть оказалась на столько крута, что вообще нет смысла хоть сколько-то оставаться с 4.2. Ну только если надо её поддерживать и нет возможности перенести проект на 5.

Впрочем цель этой заметки в другом. Laravel 5 позиционируется как Full-Stack фреймворк, который во многом самодостаточен из коробки. Там много прекрасных компонентов и ещё больше расширений цепляется через Composer. Но всё-же есть ниши, где Laravel не столь хорош — это те сценарии, когда нужно супер-быстрое, отзывчивое приложение. Там, где задержка в ответе в 30-45 миллисикунд от среднего значения, это уже заметный, а может и катастрофичный тормоз. Можно такие приложения писать и на native PHP — и они будут столь же сверх-быстры, но раширять и поддерживать их в команде не так-то уж и просто…

Впрочем, встречайте — Lumen! От создателей своего большого брата Laravel 5 (и частично на его базе и создан). По умолчанию тут отключено практически всё кроме базового скелета приложения. А то, что надо, вы включаете вручную. Всё, на чём можно было сэкономить, не потеряв в гармонии, уже отключено или вырезано под корень. Просто идельная штуковина для небольших сервисов, которые требуют быстрой обработки — какие-нибудь платёжные сервисы, или сервисы каких-то регистраций, где происходят сотни-тысячи запросов/транзакций в секунду.

У меня уже руки чешутся его опробовать. :) Но пока совсем нет на это времени. Впрочем уже есть один проект, который я давно хотел переписать на Laravel, но были некоторые опасения по скорости в будущем в одном месте. Теперь же точно вижу, что самую нагруженную часть однозначно стоит вывести в отдельную сущность и переписать на Lumen. :)

Published by

Дмитрий Сычёв

Программист, сисадмин, геймер, велоездун, фотолюбитель... И вообще властитель всего мира этого блога. ;)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.