Title: [Java SDK] Implement async/non-blocking client for better performance
Description:
The current Java SDK only provides blocking I/O operations through IggyTcpClient and IggyHttpClient. This severely limits performance in stream processing frameworks like Apache Flink.
Current State:
// Only blocking operations available
PolledMessages messages = client.messages().pollMessages(...); // Blocks thread
Proposed Solution:
// Add async operations
CompletableFuture<PolledMessages> future = client.messages().pollMessagesAsync(...);
Impact:
- Multi x performance improvement expected (To be measured)
- Essential for External (e.g Flink) connector efficiency
- Reduces thread usage from 10-15 to 2-4 per task
Implementation Suggestions:
- Use Netty for non-blocking I/O
- Provide CompletableFuture-based API
- Maintain backward compatibility with blocking client
Title:
[Java SDK] Implement async/non-blocking client for better performanceDescription:
The current Java SDK only provides blocking I/O operations through
IggyTcpClientandIggyHttpClient. This severely limits performance in stream processing frameworks like Apache Flink.Current State:
Proposed Solution:
Impact:
Implementation Suggestions: