cloudwego/volo

supporting http3

ouvaa opened this issue · 13 comments

possible to support http3 like salvo?

Hello, this is in our roadmap, but there's not an ETA now.
Can you describe your usage scenario in more detail?

@PureWhiteWu you have the fastest rpc etc and dont have http3 or monoio http2... it's like always some room for upgrades.

pls just go with http2 + monoio if this is the fastest way forward for use today.

can you pls provide eta? rust project can be 1 year eta etc. i hope to have a feel of ETA to see if it's worth waiting for this volo or alternatives. really hope to see eta soon.

possible to provide eta?

Why do you need monoio instead of the tokio version?

@PureWhiteWu its mentioned the 25% speed up is very useful.

So what's your real need? Do you need the thread-per-core architecture?

@PureWhiteWu yes, thread per core is great. pls implement monoio thx.

I'm curious if the reason you're so anxious to use Volo HTTP3 is because you're already using Volo?
I don't rust but I think the main time should be invested in real users and needs. Hertz also supported H3 but it's been a year and there are no real users.(I saw the github email and replied because I was curious, but I don't know rust or volo.)

@PureWhiteWu @li-jin-gou i need something with monoio and tls. this is bare minimum whether http1.1 or http2 or http3

i prefer getting volo http3 done because salvo already has it and people go for salvo because of http3 etc.

i like cloudwego's volo so please just do http2 with monoio or monoio support with tls. that'll be all i'm asking for actually.

p.s. : the reason i'm so anxious to use volo with monoio is because i already used hertz. i hit a lot of memory-GC issues now even after plenty finetuning. cloudflare/pingora is open sourced, mentioned some of the issues i am having with golang now.

i suggest something with monoio and tls please. that's all for great adoption. best if implemented in volo

volo-http-tls
volo-http-tls-monoio <-- forever i will only use volo and not switch anymore.

@li-jin-gou i've tried monoio and it's really good. just missing http-tls feature.

i can live with just http1.1 with monoio and volo tls. can slowly do http2 etc. nevermind http3 too.

can this be done quick? i'm actually looking at pingora too. it's one of the only ones that support https at scale with support for websocket.

this is for real world usage.

Hello, if you just need thread-per-core and http-tls, maybe you can use volo-http together with thread-per-core tokio?
We are developing http-tls now and this will be released in the near future.

@PureWhiteWu my problem is you do not eta for tls. i've seen monoio being updated with some features happened in 8-12 mths.

i understand the importance of getting out good but eta is very important. i also understand some ETAs can be delayed 1 - 2 mths but at least u have etas.

just fyi, i really like volo "for a lot of other things too" but http1.1, h2 and http3 tls is just resolved here:
HFQR/xitca-web#963

so i guess other than salvo, xitca has thread per core to work with now. maybe u can consider some reference so we can "port" to each other for compatibility in terms of other functions / feature development.

anyway, eta is important. pls give an eta, thx
i'm mentioning because there are other features almost within 1 year still have not seen materialized.

@ouvaa volo-http with TLS will be released in this month, but http3 uses quic and volo does not support it currently.

If you have strong needs, we will include it in our plans. But we currently have no plans to support h3.

看了前面的讨论,我觉得可能需要清晰看清楚一个事实,就是http3究竟在什么场景有优势和意义,从目前的经验来看,http3只在弱网和移动场景(某种意义的弱网)下有显著优势。现在volo的主战场还是后端服务集群,并不太涉及直接和前端的交互。
在不支持和前端或者web端直连的情况下,h3可能只是一个噱头。
但是如果有一天,volo开始思考web端直连了,那么弱网就是一个必须要考虑的场景,支持h3就会有显著吸引力,现阶段可能有更多其他重要的事情。