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
Комментариев нет
оставить комментарий могут только авторизованные пользователи
Другие работы автора:
Поддержка и совершенствование музыкального портала

Поддержка и совершенствование музыкального портала Разработка модулей, поддержка и совершенствование музыкального портала.

Юзабилити и SEO анализ сайта МИИТа (МГУПС)

Юзабилити и SEO анализ сайта МИИТа (МГУПС) Юзабилити тестирование сайта и SEO анализ по заказу ММЦ университета.

Создание и поддержка сайта на Wordpress

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

Создание сайта Eva-test.net.ru

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

Сауны Екатеринбурга

Сауны Екатеринбурга Сайт под ключ на базе cобственной CMS Exlibris. Дизайн, верстка, программирование модулей.

Сайт "Стихи о любви"

Сайт "Стихи о любви" Разработка дизайна сайта Love.Womantalk.ru Используемые технологии: PHP, Apache, Nginx, Joomla

Мануальный терапевт

Мануальный терапевт Создание сайта под ключ.

Сайт Тест-на-овуляцию

Сайт Тест-на-овуляцию Создание с нуля сайта с материалами по овуляции у женщин.