Andrey zizop
Рейтинг
80
№ 32 243 в каталоге
Отзывы
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 Сайт союзного государства Россия-Беларусь
Сайт союзного государства Россия-Беларусь
86
Дизайн и Брендинг Баннер для сайта Тест-на-овуляцию
Баннер для сайта Тест-на-овуляцию
65
Веб-разработка и IT Викон-инвест: агентство недвижимости
Викон-инвест: агентство недвижимости
100
Веб-разработка и IT Разработка интерактивного сонника
Разработка интерактивного сонника
53