Требования продакшена на хайлоаде
Yii движок универсальный, и одна из заявленных целей в разработке - обеспечить достойную производительность.
В мире хайлоада, для приложения с высокими требованиями по качеству, скорости и надёжности, требуется три вида поддержки:
1. Структурированные логи - для отладки, когда что-то пошло не так. В логи пишется 100% запросов.
2. Трейсы для профилирования - для поиска узких мест в производительности отдельных участков системы.
3. Мониторинг - для оценки производительности всей системы в текущий момент.
Всё это требует вывода информации из приложения в разные системы. Время выполнения запроса, ID запроса, какие функции выполнялись, за какое время, код ошибок и так далее.
Понятно, что встроить всё это в фреймворк невозможно, да и не нужно. Есть специальные системы для решения этих задач, как по отдельности, так и всех сразу. Примеры - New Relic, Sentry, ELK, Zabbix.
Вопросы:
1. Какие в Yii 3 поддерживаются механизмы интеграции по этим трём задачам?
2. Есть ли встроенная в фреймворк достаточная поддержка этих задач, чтобы можно было при желании на "раз-два" подключить любую систему?
3. Вопрос к участникам форума - кто что использует в своём продакшене, как подключаете, требует ли это использование расширения фреймворка и кода приложения.
P.S.
В идеале, я хочу чтобы "из коробки" к приложению можно было бы подключить любое из ТОП-5 самых популярных решений, готовым сторонним пакетом, либо без особых усилий написать такой пакет для себя, если его ещё не написали.
Для этой цели, в фреймворке требуется достаточная поддержка, чтобы не приходилось делать какую-нибудь магию, костылить или заменять значительную часть "потрохов".
Рад услышать любые мысли, замечания, мнения по теме. Высказываемся.
Требования к Production - логи, профилирование, мониторинг
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Требования к Production - логи, профилирование, мониторинг
1. Логи - PSR-3, производительность - простой профайлер (но вообще лучше на проде использовать что-то вроде newrelic). Мониторинг - не задача фреймворка. Опять же, newrelic, zabbix или что-то такое.
2. Да.
3. Когда в Skyeng был, мы использовали newrelic, sentry. Newrelic вообще ничего не требовал. Sentry отлично прицеплялся к логгеру.
К Yii 2 сейчас, насколько знаю, под Sentry, Rollbar и подобные расширений предостаточно.
2. Да.
3. Когда в Skyeng был, мы использовали newrelic, sentry. Newrelic вообще ничего не требовал. Sentry отлично прицеплялся к логгеру.
К Yii 2 сейчас, насколько знаю, под Sentry, Rollbar и подобные расширений предостаточно.
Нравится Yii? Давайте сделаем его лучше!.