PHP & SOAP какая польза от брокера сообщений? - PullRequest
2 голосов
/ 04 октября 2010

Я работаю над решением сделать определенные данные из большой базы данных доступными для удаленного веб-сайта.Моей первой мыслью было просто приготовить некоторые мыльные веб-сервисы для извлечения определенных данных из базы данных.Это можно сделать всего за несколько строк, например, с помощью пользователя 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, но у меня не было четкого представления о том, для чего их следует использовать и как они будут полезны в этом проекте.

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

1 Ответ

1 голос
/ 04 октября 2010

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

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

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

...