drpc的工作原理
DRPC由storm构成服务端,DRPCClient构成客户端;reach是storm的一个拓扑定义的函数名称 ,(推特url)是请求参数
而linearDRPCTopologyBuilder实现了DRPC的封装,构造函数参数也就是客户端需要传入的函数名;【同时也是自定义拓扑时候DRPCSpout的函数名称,drpcSpout从客户端指定的函数接收输入流】
举例子:
首先创建拓扑结构
创建如上的拓扑 :drpc调用这个拓扑时候,最后的bolt会把结果返回给drpc服务端
这个拓扑的结构有且只能是线性结构
2 其次运行拓扑结构并且客户端调用
本地调用
远程调用:
远程调用涉及到了storm中的拓扑 ,drpc服务端,drpc客户端
所以首先配置storm.yaml的drpc服务端地址,其次启动该服务端,最后提交拓扑到storm集群
然后就可以使用DRPCClient调用:需要注意的是,client需要指定的是函数名而不是拓扑名称
线性结构如下