Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simpler HTTP client to send requests #51

Open
roman-khimov opened this issue Dec 13, 2020 · 0 comments
Open

Simpler HTTP client to send requests #51

roman-khimov opened this issue Dec 13, 2020 · 0 comments
Labels
enhancement Improving existing functionality I3 Minimal impact performance More of something per second S2 Regular significance U4 Nothing urgent

Comments

@roman-khimov
Copy link
Member

We're using viper at the moment and it's just made for a different problem, it manages connection pool to optimize connections to different servers while we only have one target server. It spends some time on URL parsing to see where the request should be sent, but we don't need that. It can have multiple connections to one server, while we don't need that either, we run multiple instances for that.

What we really need as a "worker" is a dumb TCP connection with minimal HTTP 1.1 handling on top of it. One worker is one permanent connection, POST and get response. Simple as that. Unfortunately, I wasn't able to find any real HTTP library for request creation/result parsing and it's very annoying. Of course our requests are rather simple and we can use some static header, but responses need to be parsed properly anyway and it's better to use some library for that.

It'd be nice to rework this part, I think it'll give us more predictable behavior (as we had some problems with workers already) and minimize bench overhead (giving more resources to nodes).

@roman-khimov roman-khimov added enhancement Improving existing functionality U4 Nothing urgent S2 Regular significance I3 Minimal impact performance More of something per second labels Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improving existing functionality I3 Minimal impact performance More of something per second S2 Regular significance U4 Nothing urgent
Projects
None yet
Development

No branches or pull requests

1 participant