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

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

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

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

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

Баннер для сайта Тест-на-овуляцию Создание баннеров для рекламной кампании сайта "Тест-на-овуляцию".

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

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

Дизайн и разработка сайта Завидово-Open

Дизайн и разработка сайта Завидово-Open Сайт под ключ. Подмосковный покерный турнир «Завидово OPEN». Использовалась CMS Exlibris. Дизайн, разработка, создание модулей.

Калинов родник

Калинов родник Разработка дизайна сайта минеральной воды «Калинов родник».

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

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

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

Баннер для сайта Тест-на-овуляцию Создание баннеров для рекламной кампании сайта "Тест-на-овуляцию".