Что такое RoadRunner и зачем он нужен вашему PHP-приложению. Полное руководство с примерами!

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ธ.ค. 2024

ความคิดเห็น •

  • @АлександрЕлагин-м2ю
    @АлександрЕлагин-м2ю 5 หลายเดือนก่อน +53

    Спасибо большое за такое видео и особенно за ответы на мои вопросы на стриме, очень жаль, что rr не так популярен на рынке

  • @php-farttime
    @php-farttime  5 หลายเดือนก่อน +1

    55:10 Кстати, посмотрел почему debug:true в http падал. Оказалось все просто, проблема в примере который использовали на стриме.
    Было
    while (true) {
    try {
    $request = $psr7->waitRequest();
    } catch (\Throwable $e) {
    $psr7->respond(new Response(400));
    continue;
    }
    ....
    $psr7->respond(....);
    }
    И вот здесь $request может быть null, возможно именно в момент ребута это и происходит и отправляется в RR resonse $psr7->respond( и он подвисает в этот момент. Короче надо было добавить проверку на null для $request

  • @php-farttime
    @php-farttime  5 หลายเดือนก่อน +1

    01:48:24 В лейблах метрики не нужно указывать ключи. Именно поэтому у меня падало.

  • @shokhaa
    @shokhaa 4 หลายเดือนก่อน

    а как привязать доменое имена? или для этого все равно будет nginx?

  • @dmitryg6932
    @dmitryg6932 4 หลายเดือนก่อน

    Было бы интересно сравнение с FrankenPHP. Также интересно почему у RR такой слабый перформанс(понятное дело, что он выше чем php-fpm), и большое потребление памяти относительно FrankenPHP, Swoole. Ведется ли работа в этом направлении.

  • @sufir
    @sufir 5 หลายเดือนก่อน +1

    Вопрос по поводу метрик, а не умеет роадранер где-то их вроде редиса хранить, чтобы не обнулялись при рестарте?

    • @php-farttime
      @php-farttime  5 หลายเดือนก่อน

      Привет, вроде нет, но я тоже о таком думаю, т.к. это тоже не хватает. Надо будет сдать rfc на это

    • @sufir
      @sufir 5 หลายเดือนก่อน

      @@php-farttime да, очень нужная вещь. Если разработка активно ведется, то рестарты ведь регулярные и каждый раз метрики обнуляться будут.

    • @luzrain
      @luzrain 4 หลายเดือนก่อน

      Используйте prometheus базу. Эти метрики не предназначены для ручного вычитывания. Их надо брать не сырыми со страницы, как тут, а из базы, а там эти обнуления учитываются и автоматически корректируются.

  • @ROX2
    @ROX2 5 หลายเดือนก่อน +2

    а про swoole знаем и зачем он нужен нашему приложению ?

    • @php-farttime
      @php-farttime  5 หลายเดือนก่อน +1

      ))) Хочешь стрим про Swoole? Будет почти все тоже самое. Хотя он немного по другому работает в LongRunning

  • @sufir
    @sufir 5 หลายเดือนก่อน +2

    А в чём уважаемый автор рисует красоту?

    • @php-farttime
      @php-farttime  5 หลายเดือนก่อน +2

      excalidraw.com
      В моем случае это плагин для obsidian

  • @1421-x7c
    @1421-x7c 5 หลายเดือนก่อน +6

    Смотришь эти картинки и вроде понятно. По итогу нихера не понятно. Хочется посмотреть видос с каким-то микро бложиком с использованием roadrunner и symfony например. С обьяснениями чем это лучше и тд. Этот знаменитый вывод хелоу ворлд в консоль ничего не обьясняет.

    • @php-farttime
      @php-farttime  5 หลายเดือนก่อน

      )))) тебя уже ничего не спасет. Иди в бизнес

    • @php-farttime
      @php-farttime  5 หลายเดือนก่อน

      На самом деле все стримы что ты здесь проводили, на всех мы пишем код и используем при разработке Roadrunner, так что примеров уйма. Стримы про микросервисы все с использованием rr

    • @kalobyte
      @kalobyte 5 หลายเดือนก่อน

      рр это костыль, написанный на го, потому что пхп нормально не может работать демоном
      точнее приложение на пхп не может работать многопоточным демоном
      на го ты бинарник скомпилил и он сам по себе весь в себе запускается и работает шустро и хттп там как бы его основа

  • @marden429
    @marden429 5 หลายเดือนก่อน +1

    Очистка метрик после рестарта РР это провал

    • @php-farttime
      @php-farttime  5 หลายเดือนก่อน

      Ну как бы не провал. Метрики же уходят в prometheus. Для counter мы же смотрим сумму или diff между днями. Сумму вывести не проблема и diff между днями тоже, так что не должно создавать проблем. Надо будет сделать стрим где мы это потестируем.

    • @luzrain
      @luzrain 4 หลายเดือนก่อน +1

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

    • @ButscHster
      @ButscHster 4 หลายเดือนก่อน

      ​@@luzrain О, круто, спасибо, что доуточнил!

  • @radikovichkz2470
    @radikovichkz2470 4 หลายเดือนก่อน

    А может просто выучить go?

    • @php-farttime
      @php-farttime  4 หลายเดือนก่อน +1

      Твой совет очень важен для нас. Спасибо, что открыл глаза. Всем срочно учить go!
      А по факту здесь многие, уверен, знают go, в том числе и я и не совсем как это мне поможет. Мне нравится ООП в PHP и ту быстроту с которой можно решать задачи. Каждый язык для своих целей. Если нравится go, пиши на нем. Если я тебе посоветую учить C#, ты же не пойдешь его учить?

    • @radikovichkz2470
      @radikovichkz2470 4 หลายเดือนก่อน

      @@php-farttime посмотри практики перехода с php на go, ооп это мнимая полезность

    • @radikovichkz2470
      @radikovichkz2470 4 หลายเดือนก่อน

      @@php-farttime обертка приложения ради обертки и нагрузка дополнительными плагинами, сам же роадранер написан на go.