-
Notifications
You must be signed in to change notification settings - Fork 134
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
HTTP2 #1168
Comments
In https://github.com/nodejs/node/blob/master/doc/contributing/maintaining-http.md In the discussion in the mini-summit the challenge seemed to be that there was limited uptake of HTTP2 which led to limited interest on working on it. Those most active on the http front seem to be working on the undici side of things. I'll tag for thee agenda to see what the other TSC member think. |
@nodejs/http2 |
Unfortunately there are not many users of HTTP/2 in Node.js and not many that would like to step in and maintain it. A few things that might help is to do a call for maintainers, i.e. if you are a company that is using HTTP/2 and it is critical to you, you should help maintain it. |
We discussed this in the TSC meeting today. HTTP2 usage is generally low because proxies like nginx don't proxy HTTP2 and don't plan to (they do plan to proxy HTTP3 though). There is some important usage like GRPC but overall all not critical enough for the future of Node.js to motivate existing collaborators to further improve/fix the rough edges. The project would welcome contributions/PRs to help do that at the TSC level we don't see a path to prioritize that. |
@benjamingr if you know of people that might be interested in helping on that from we might use this issue to discuss how to get them involved, otherwise I'm thinking we can probably close it out. |
I am the author/maintainer of gRPC in Node, so I have some interest here. I am particularly curious about this statement:
The documentation I can find seems to indicate that nginx has HTTP2 support. Can you share more information about what support or functionality is missing in nginx and other proxies that is reducing adoption of HTTP2? |
@murgatroid99 I don't think this is a forum or a venue to discuss what features NGINX is lacking - NGINX Open Source has supported HTTP/2 for a few years now. What we see on our end is a lack of interest in deploying HTTP/2 with Node.js servers. We can possibly investigate why... but promoting HTTP/2 is not really Node.js goal. All the production use cases that the collaborators work on are HTTP/1.1 based with the exception of GRPC. Most companies are leaving HTTP/2 at the load balancer and just use HTTP/1.1 after that: they see HTTP/2 as a infrastructure-specific concern, not something they have to deal with in their APIs. I don't know if the current HTTP/2 implementation is serving GRPC well enough or if there are bugs that are affecting you. Supporting GRPC is important for me and likely for a lot of others that have it in production. As you can imagine, supporting the http2 to be able to run GRPC natively vs as a generic API for building servers is quite different. A lot of the problems are in the the "compatibility api" that some of the higher-level frameworks are using. That design was probably not one of my finest. |
I am happy to ping people about this though I doubt people without a lot of prior experience will be very effective unless someone with experience in that area can mentor them. |
There are some bugs in the HTTP/2 implementation that have been impacting gRPC for a while, and the lack of interaction with issues described at the beginning of this thread is a persistent pain point for us. |
Could you list them here? |
The main ones are
plus a couple that I think are bugs, but I don't have solid evidence:
|
@murgatroid99 I think we have handled all the outstanding issues for grpc. In case you have issues that are stuck let us know. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Casual Nodejs user here...
See this: I've never used HTTP2 with NodeJS due to the above. I don't expose Nodejs directly to the web, but through Nginx. I know I could expose it directly, but I don't, for the sake of delivering static files faster, and to enable myself to potentially load balance between several nodejs instances. Admittedly, I don't have a project that's big enough to have warranted multiple instances, but that's beside the point.
That's news to me, and I can't seem to find any confirmation on even planned support for the proxy module supporting HTTP3. All I can find is plans to support HTTP3 in general, in much the same way HTTP2 is supported currently. That is, you'd still have Nginx making HTTP 1.1 connections to NodeJS in response to an HTTP3 request. |
@benjamingr I think the discussion that is going to take place on this issue has taken place. Would it be ok to close the issue? |
@mhdawson sure. |
Hey, there are a lot of open issues around http2: https://github.com/nodejs/node/issues?q=is%3Aissue+is%3Aopen+label%3Ahttp2+
A lot of them without comment and without appropriate triage.
It would be great if someone from the TSC could take initiative and see how we can improve the support of the HTTP2 module (either by getting collaborators organized in tackling these issues, asking for help or directly).
The TSC can decide to do anything else but I feel like it's an area that could use more attention.
@nodejs/tsc
The text was updated successfully, but these errors were encountered: