intuit / intuit/Tank

Async Http Client

Open
#74 3 comments 0 reactions 0 assignees View on GitHub
enhancement hacktoberfest
Dominant language
Java
Stars
90
Forks
61
Avg merge
4d 9h
Merged PRs (30d)
3

Description

### Existing State
Tank currently supports two blocking httpClients (apache httpclient 3.1 and 4.5). These httpclients make a request and wait for the response and parse the response before continuing on the the next call.
### Issue
The existing state fails to produce conistent TPS, as the server endpoint changes performance. Faster RT equals higher TPS, and vise-versa. A completely non-blocking solution would not work because certain calls rely on the response data from a previous call.
### Solution Stage 1
Include a Non-blocking Async http client like netty that would execute requests with a non-blocking futures form. This is a backward compatible state.
### Solution Stage 2
Add an extra boolean to the request data_model, xml, gui, etc. So that requests can be marked async or not. The ultimate outcome would allow may flow events to be blocking, while beaconing/uilogger calls would be sent off and processes the responses when ever, without blocking the primary flow.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.