Skip to content

Norbert PartitionedNetworkClient Flow

Maverick Lee edited this page Aug 8, 2014 · 3 revisions

This page outlines the flow of a Norbert client request in Norbert's PartitionedNetworkClient.

norbert flow diagram

Notes:

  1. The client request flows from the Client Application Thread, to the Netty CachedThreadPool and finally to the ThreadPoolResponseHandler.
  2. The actual I/O operations (ie. socket.write() and socket.read()) are asynchronous.
  3. The 'loadBalancer' object is global to a PartitionedNetworkClient. So the loadBalancer referred to in the Client Application Thread is the same as the loadBalancer object referenced in the Zookeeper Listener Actor.
  4. ClusterIoClient, Channelpool, and Channel are the names of classes as well as instances of those classes in the code.
  5. A PartitionedNetworkClient.sendRequest() call will always return to the client immediately. However, the next() call on the returned iterator will block until data is received from the server.
Clone this wiki locally