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