Description
A nonblocking RPC server based on Netty should be more scalable than the current implementation.
We should provide two mechanisms for interfacing the RPC server to the implementations:
1) "Blocking" RPC implementations run inside a worker threadpool. Implementators would not know that they're working in a non-blocking context.
2) "Event-driven" RPC implementations that receive requests and some kind of request context. They are responsible for eventually calling context.respond(response) or somesuch. This would allow more scalable interaction with downstream services.
I propose we focus on (1) first.
Attachments
Attachments
Issue Links
- is related to
-
GIRAPH-211 Add secure authentication to Netty IPC
- Resolved
- relates to
-
AVRO-406 Support streaming RPC calls
- Open
-
AVRO-539 Allow asynchronous clients to specify a callback to be run when server processing completes
- Closed
-
AVRO-585 add async RPC cllient
- Closed
-
HDFS-916 Rewrite DFSOutputStream to use a single thread with NIO
- Open
-
ZOOKEEPER-733 use netty to handle client connections
- Closed
-
HBASE-2400 new connector for Avro RPC access to HBase cluster
- Closed
-
HBASE-2182 rpc/ipc refactor; x-version compatibility, nio, async, enveloping, sane timeouts, etc.
- Closed