acmpesuecc / acmpesuecc/zaprpc

feat(transport): add http/2 option and fallback

Aberta
#5 0 comentários 0 reações 0 responsáveis Ver no GitHub
bounty 1500 enhancement
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

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.