Distributed RPC is used to query on and retrieve results from Trident topology on the fly. Storm has an in-built distributed RPC server. The distributed RPC server receives the RPC request from the client and passes it to the Storm topology. The topology processes the request and sends the result to the distributed RPC server, which is redirected by the distributed RPC server to the client.
We can configure the distributed RPC server by using the following properties in the storm.yaml
file:
drpc.servers: - "nimbus-node"
Here, nimbus-node
is the IP of the distributed RPC server.
Now, run this command on the nimbus-node
machine to start the distributed RPC server:
> bin/storm drpc
Let's assume we are storing the count aggregation of hello world Trident topology in a database and want to retrieve the count for a given country on the fly. We would need to use the distributed RPC feature to achieve this. This example shows how we can incorporate the distributed RPC in the...