【问题标题】:PHP & SOAP what use is a message broker?PHP & SOAP 消息代理有什么用?
【发布时间】:2011-04-20 19:37:49
【问题描述】:

我正在研究一种解决方案,以使大型数据库中的某些数据可用于远程网站。我的第一个想法是简单地编写一些肥皂网络服务来从数据库中获取某些数据。这可以在几行中完成,例如,使用 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,但我并没有真正清楚地了解它们应该用于什么以及它们在这个项目中是否有用。

我确实了解我的实现可能存在一些缺点,例如当数据库没有快速响应时网站速度缓慢,以及当网站收到大量请求时数据库负载很高,消息代理是否能够预防此类并发症?

【问题讨论】:

    标签: php soap activemq stomp messagebroker


    【解决方案1】:

    消息代理的作用是检查请求并将它们分派到正确的服务或从缓存中返回响应。

    如果您预计流量很大,您可能应该考虑使用消息代理。

    问候, 阿林

    【讨论】:

    • 消息代理对我描述的肥皂电话这样的情况也有用吗?在这种情况下,发件人(网站)期望立即得到答复。
    • 我认为这与需要同步响应这一事实无关。代理只会从您的服务中提取响应并将其发送给客户端。如果缓存是可能的,你可以在代理中实现它,你也可以添加 IP 过滤、输入验证、输出过滤器或任何你喜欢的东西。这是您希望如何设计应用程序的问题。就个人而言,我会使用经纪人。
    猜你喜欢
    • 2018-11-15
    • 2010-12-11
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多