Вопрос

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

Теперь кто-то сказал мне, чтобы также взглянули на сообщение Brokers / очереди. Я посмотрел на некоторое программное обеспечение, например, Apache ActiveMQ, STOMP и Zend_Queue, но я действительно не получил четкое представление о том, что их следует использовать для и погода, они будут полезны в этом проекте.

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

Это было полезно?

Решение

Роль Broker Message - проверять запросы и отправлять их на правильное обслуживание или вернуть ответ из кэша.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top