Andrey
Был на сайте: 29.04.2021 13:03

Andrey zizop

Паспорт не верифицирован

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

  • 21
  • Опубликовано: 2013-11-19
Допустим у нас есть ситуация, при которой во время какого-либо 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
Интеграция Ruby+PHP
Комментариев нет
оставить комментарий могут только авторизованные пользователи
Другие работы автора:
Корпоративный сайт компании Катхат-импекс

Корпоративный сайт компании Катхат-импекс Разработка дизайна сайта текстильной компании «Катхат импекс». Используемые технологии: PHP, Apache, Nginx

Машиностроение для специалистов - E-mash.ru

Машиностроение для специалистов - E-mash.ru Разработка дизайна сайте, верстка и программирование.

Серебро Поноя

Серебро Поноя Сайт на авторской CMS ExLibris. Интеграция дизайна в шаблоны, разработка модулей.

Сайт сборник рецептов

Сайт сборник рецептов Разработка дизайна сайта «Рейепты для похудения». Используемые технологии: PHP, Apache, Nginx

Женский интернет-магазин

Женский интернет-магазин Разработка и дизайн сайта женского интернет-магазина. Использовался собственный движок iShop. Используемые технологии: PHP, Apache, Nginx

Сайт доктора Кана

Сайт доктора Кана Сайт под ключ. Разработка персонального сайта доктора Кана. Занимается фитотерапией (лечением травами). Это подчеркивает цветовая палитра сайта в зеленых тонах и логотип.

Медицинский центр "СетМед"

Медицинский центр "СетМед" Разработка сайта.

Сайт Русской Геральдической Коллегии

Сайт Русской Геральдической Коллегии Разработка дизайна сайта русской геральдической коллегии (РГК). Используемые технологии: PHP, Apache, Nginx