2 сен

libevent теперь и в PHP

point
4

25.jpg

На днях вышло pecl расширение для PHP под названием libevent. Как видно из названия, оно позволяет использовать event-driven подход в приложениях, написанных на PHP, используя libevent.


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

Это расширение хорошо годится для "долгоиграющих" скриптов, с достаточно высокой нагрузкой -- только в этом случае можно получить выигрыш в производительности за счёт асинхронной работы приложения. Более детально описано на сайте библиотеки libevent.

Еще одна интересная экспериментальная разработка, реализующая поддержку libevent в PHP, называется kargo-event. Цель этого проекта -- сделать масштабируемую среду для создания веб-сервисов, ориентированных на API (AJAX, REST, SOAP). При развертывании собирается их собственная обвязка над libevent, а для обслуживания HTTP запросов ненужен внешний http сервер. Используется немного пропатченный сервер evhttp, дополнительно входящий в состав libevent. Бизнес логику в рамках этого решения предлагается реализовывать на базе Zend Framework и прилагаемых патчей к нему.

Весьма оригинальная идея заложена авторами в проект. А вот в какую сторону будет развиваться kargo-event и будет ли использоваться в production-е покажет время.


Категории:



Стоит почитать


Добавь свой

Комментарии (4)

  • e1a4f2dad8c33f24afdb0c1a277f7b78?d=identicon&s=80
    #10lympian
    September 12, 2009, 20:53:53
    Хе-хе... посетила странная мысль. Веб-свервер - это ведь и есть event-ориентированная обвязка. ;)
    Ответить
  • 5005dfcbb123e017638095c1e1b0e8af?d=identicon&s=80
    #2point
    September 16, 2009, 13:49:49
    Например, nginx -- даже не обвязка, а полностью построенный на event-ах веб-сервер. А если поразмыслить, любую систему можно свести к event-ориентированной, где те или иные части срабатывают по наступлении определенного события.
    Ответить
  • e1a4f2dad8c33f24afdb0c1a277f7b78?d=identicon&s=80
    #30lympian
    September 17, 2009, 17:40:40
    Кулер читает наши мысли ;))

    http://cooler-online.com/cl130909.html#a2
    Ответить
  • 5005dfcbb123e017638095c1e1b0e8af?d=identicon&s=80
    #4point
    September 18, 2009, 10:54:54
    Ну, во многих аспектах он ошибается. Главный его посыл -- запуск программы каждый раз при новом запросе, "программист теперь не привязан к постоянному перезапуску "приложения"". Есть системы из мира JavaEE, где приложение постоянно висит в памяти, и не запускается при каждом запросе. Как раз таки вызывается только нужная часть функционала.

    ИМХО, AJAX придуман не столько для "процедурности", сколько для более быстрой доставки информации. Если нужно изменить только небольшой блок страницы, зачем перегружать ее снова. AJAX-иком аккуратно его изменяем.

    Про кодировки -- на дворе 21 век. Unicode-у уже лет 15. Если разработчик не использует его, ну тогда придется заморачиваться с однобайтными кодировками. Как говорится, сам себе злобный буратино.

    "Нет такого свойства, чтобы готовые binary данные вставить в элемент."
    Очень давно существует.
    img src="data:image/gif;base64,
    и погнали.

    Да и про JavaScript тоже местами гониво. JS приложения можно успешно запускать не только в браузере.
    Ответить
Имя (обязательное)
Email (обязательное, скрыто)
Web-сайт
Комментарий

© WebDev.tk, 2009