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