PHP & SOAP какая польза от брокера сообщений?

Я работаю над решением сделать определенные данные из большой базы данных доступными для удаленного сайта. Моей первой мыслью было просто приготовить некоторые мыльные веб-сервисы для извлечения определенных данных из базы данных. Это можно сделать в несколько строк, например, так, с помощью пользователя Zend_Soap_Server:

class MyClass 
{
    public function getlastname($id) 
    {
        $dbh = new PDO("oci:dbname=bigdb", "theuser", "thepass");

        $stmt = $dbh->prepare("select lastname from person where id  = :id"); 

        if ($stmt->execute(array(':id',$id))) 
        {
         $row = $stmt->fetch();
         return $row['lastname'];
        }
    }
}

$server = new Zend_Soap_Server(null, $options);
$server->setClass('MyClass');
$server->setObject(new MyClass());

$server->handle();

Теперь кто-то сказал мне также взглянуть на посредников / очереди сообщений. Я смотрел на некоторые программы, такие как apache activeMQ, stomp и zend_queue, но у меня не было четкого представления о том, для чего они должны использоваться, и о том, будут ли они полезны в этом проекте.

Я понимаю, что моя реализация может иметь некоторые недостатки, такие как вялый веб-сайт, когда база данных не отвечает быстро, и высокая нагрузка на базу данных, когда поступает много запросов с веб-сайта, сможет ли брокер сообщений предотвратить такие осложнения?

1 ответ

Решение

Роль посредника сообщений заключается в проверке запросов и отправке их нужному сервису или возврате ответа из кэша.

Если вы ожидаете большой трафик, вам, вероятно, следует рассмотреть возможность использования брокера сообщений.

С уважением, Алин

Другие вопросы по тегам