...
Potential approaches to this are:
- GridNioServer
- Pros: no dependencies, relatively easy to use, supports SSL
- Cons: not future proof?
- Perform writes in a separate thread (use dedicated thread or ForkJoinPool.commonPool)
- Pros: no dependencies
- Cons: more manual thread management - hard to get right and fast
- AsynchronousSocketChannel
- Netty
- Pros:
- Greatly reduces complexity - returns ChannelFuture, which can be easily converted to IgniteClientFuture. Manual thread management goes away.
- We can share one EventLoopGroop across all TcpClientChannel instances within ReliableChannel and reduce resource usage when partition awareness is enabled
- Proven performance
- Cons:
- New dependency in core module
...