Введение Когда разработчики начинают строить микросервисную архитектуру, вопрос авторизации между сервисами обычно решается в стиле: Проблема в том, что микросервисы очень быстро превращают инфраструктуру в распределённую систему с…
Инженерная практика
Docker, WebSocket, real-time, автоматизация, производительность, безопасность, эксплуатационные практики.
Альтернативы Centrifugo для Laravel: Reverb, Pusher, Ably, Socket.IO, SSE и polling
Centrifugo — сильное решение для real-time систем. Особенно когда нужен отдельный WebSocket-слой, приватные каналы, публикация событий из backend-а, масштабирование и независимость от конкретного фреймворка. Но Centrifugo не единственный…
Фронтенд и эксплуатация Laravel + Centrifugo: как не сломать real-time в production
Real-time система не заканчивается на том, что backend опубликовал событие в Centrifugo. Это только половина работы. Вторая половина начинается на фронтенде и в эксплуатации: подключение клиента, обработка входящих…
Публикация событий из Laravel в Centrifugo: Events, listeners, queue jobs и безопасный real-time payload
Real-time в Laravel-проекте не должен начинаться с прямого HTTP-запроса к Centrifugo из контроллера. Это быстрый путь к связанному коду, нестабильной архитектуре и ошибкам синхронизации между frontend и backend….
Каналы и авторизация в Centrifugo: как безопасно подключить real-time в Laravel
В предыдущей статье мы разобрали архитектуру Laravel + Centrifugo: Laravel отвечает за бизнес-логику, права доступа и события, Centrifugo — за WebSocket-соединения, каналы и доставку сообщений, а frontend —…
Архитектура Laravel + Centrifugo: кто за что отвечает в real-time системе
В первой части мы разобрались, что Real-time на Laravel-сайте нужен там, где интерфейс должен получать изменения без перезагрузки страницы: новые уведомления, смену статуса заказа, сообщения в чате, обновления…
Агрегаты в Domain-Driven Design: что это и как проектировать без ошибок
Агрегаты в Domain-Driven Design часто понимают неправильно. Разработчик видит таблицы orders, order_items, products, users, переносит эти связи в объектную модель один к одному и считает, что теперь у…
Автоматизация разработки с помощью n8n
Представьте: вы пушите код в GitHub, а через несколько минут тесты пройдены, код проверен линтером, а при успехе — автоматически задеплоен на staging. Всё это без вашего участия….
Китайцы сделали самую БЫСТРУЮ память в мире
В мире технологий хранения данных произошел настоящий прорыв: исследователи из Университета Фудань разработали самую быструю полупроводниковую память, получившую название PoX. Эта энергонезависимая флеш-память способна записывать данные со скоростью…
Это не легаси – это php!
За последний год разработчики Vimeo написали бэкенд-код на множестве языков-PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного Rust. В 2004 году мы начинали только с одного:…