Andrey zizop
Рейтинг
80
№ 32 255 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Москва
На сайте с
2009 года

Интеграция Ruby+PHP

Используемые навыки Ruby

Описание

Допустим у нас есть ситуация, при которой во время какого-либо HTTP запроса необходимо сделать длительную операцию. Например, при добавлении пользователем комментария к статье отправить email уведомление её автору. В классической схеме взаимодействия (рис 7-1) мы вынуждены ждать завершения этой операции, чтобы уведомить пользователя. Получается что эта операция блокирует выполнение веб-приложения, а значит происходит потеря производительности. Да и пользователю приходится ждать лишнее время. Когда количество пользователей невелико - это не проблема, но в Highload проектах этот вопрос приобретает большое значение. Мы определились с задачей - вынести все ресурсоемкие задачи в фоновые процессы. Рассмотрим случай с хостингом и добавлением домена в веб-панели. Задачей будет выполнение скрипта на Ruby, который будет производить манипуляции с DNS зонами и перезагружать DNS сервис.

Теперь определимся с схемой работы. Клиентом очереди будет ZendFramework приложение, которое будет добавлять задачи в очередь (отправлять сообщения в очередь). Сервером (воркером) будет Ruby, который будет принимать сообщения из очереди и обрабатывать их.

Почему выбрана именно такая комбинация? ZF для клиента исторически сложился, а вот сервер на Ruby выбран, т.к. очень не хочется давать PHP права root, думаю многие админы меня поймут. Выбор очереди был сделан в пользу Starling, т.к. она основана на Memcached и использует его протокол (ну почти :-) ) и реализация на руби предельно проста.

Подробнее тут: http://zendframework.ru/articles/ruby-with-php-starling-zend-queue

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Медицинский центр "СетМед"
Медицинский центр "СетМед"
51
Веб-разработка и IT Торговая площадка на базе Zend Framework
Торговая площадка на базе Zend Framework
77
Дизайн и Брендинг Баннер для сайта Тест-на-овуляцию
Баннер для сайта Тест-на-овуляцию
66
Веб-разработка и IT Корпоративный сайт компании Катхат-импекс
Корпоративный сайт компании Катхат-импекс
56