-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Add Armeria-based HttpClient
#5307
Comments
Since plugging in your own HttpClient implementation is trivial now, there are two options to address this.
From my perspective/IMHO, b makes sense only if this Armeria HTTP client is something that's used in other projects too, then it makes sense to host it and maintain it here. If not, then maybe a might make more sense, since in the end it will be something specific to that project and that won't be reusable elsewhere. |
I also prefer b option since the Armeria client is a general HTTP/1 and HTTP/2 client runtime which other Fabric8 users might be interested in. Other OSS projects provide an integration layer for Armeria such as OpenTelemery and Http4s and so on. Armeria team is currently implementing WebSocket client which is necessary for Fabric8 HttpClient implementation. If it is merged and released, I will send a PR to Fabric8 Kubernetes Client repository. |
@ikhoon I'm in favor of starting with option
I think that an ideal path forward (at least on our side) would be:
wdyt? |
Understood.
WebSocket client has been added to Armeria. Let me implement Fabric8 HttpClient implementation on the Armeria repository first. |
Sounds good. Please, if possible, reference this issue in the PR you create in the Aremria's repo so that we can keep track of it. |
While testing Armeria backend for Fabic8 HttpClient with MockWebServer, the tests failed due to the mock server does not support |
Motivation: Related: fabric8io/kubernetes-client#5307 TBU
There are multiple improvements for the MockWebServer pending. |
Hi @ikhoon, Your changes in fabric8io/mockwebserver#79 will be available as part of 6.9-SNAPSHOT which will be made available in the next SNAPSHOT publish run. |
Thanks. ❤️ I will download the version in my PR. |
Is your enhancement related to a problem? Please describe
In Armeria, I'm implementing client-side load balancing for the service discovery of Kubernetes clusters. As Armeria already provides its own powerful HTTP client built on top of Netty that supports both HTTP/1 and HTTP/2, it is weird to use other network engines that Kubernetes client provides such as JDK HttpClient and OkHttp.
Describe the solution you'd like
If the maintainers are open to accepting a PR for Armeria integration, I'd like to send a pull request. It would be also useful for other users to have the new option of a new backend.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: