acmpesuecc / acmpesuecc/zaprpc
feat(transport): add http/2 option and fallback
- Linguagem predominante
- Go
- Estrelas
- 0
- Forks
- 5
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
## Description
**ZapRPC** currently speaks QUIC only. In environments where UDP/QUIC is blocked or load balancers/ingress are TCP/HTTP-only, calls fail. Add an HTTP/2 fallback so the same RPC layer (services, codecs, envelopes) works over both QUIC (UDP) and HTTP/2 (TCP/TLS)—with an AUTO mode on the client that tries QUIC first, then falls back to H2.
## Expected Work
- Introduce a transport abstraction so zaprpc can run over QUIC or HTTP/2.
- Modify Client and Server configs to accommodate this change.
- Provide a client AUTO mode: try QUIC; if dial/handshake fails or times out, retry on HTTP/2.
- Provide a server dual-listener option (QUIC + HTTP/2 on separate sockets/ports or behind the same cert).
- Test your changes with the `testing` package.
## References
- https://pkg.go.dev/golang.org/x/net/http2
- https://victoriametrics.com/blog/go-http2/
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.