如何从PHP调用DRPC Storm


How to call a DRPC Storm from PHP?

考虑风暴DRPC拓扑,如下所示:

public static void main(String[] args) {
    LinearDRPCTopologyBuilder builder = new LinearDRPCTopologyBuilder("exclamation");  
    builder.addBolt(new ExclamationBolt()); 
    Config conf = new Config();  
    try {
        StormSubmitter.submitTopology("exclaim", conf, builder.createRemoteTopology());
    } catch (AlreadyAliveException e) { 
        e.printStackTrace();
    } catch (InvalidTopologyException e) { 
        e.printStackTrace();
    } 
}

LocalCluster(即drpc.execute("exclamation", "aaa"))测试,它工作正常。但问题是如何从PHP远程调用?


更新:我安装了slaft,并通过运行thrift --gen php storm.thrift&得到了一个包含一堆php类的genphp目录。

有人能举一个例子或链接来展示实现吗?

我们只需要在生成的类文件之上编写一个抽象层,就像java客户端一样。

您可以通过以下方式生成drpc类文件:

thrift --gen php storm.thrift

并且您必须在代码中使用php-frift库。

我把工作代码放在下面的回购中:

https://github.com/mithunsatheesh/php-drpc