envoyproxy / envoyproxy/ratelimit

Switch default protocol to v3

Abierto
#152 15 comentarios 1 reacción 0 asignados Ver en GitHub
no stalebot
Lenguaje dominante
Go
Estrellas
2.7k
Forks
535
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**Rational**
In order to support newer features of the ratelimit protocol (like [rate limit overrides]( https://github.com/envoyproxy/envoy/issues/11595)), we’d need the service to use v3 protocol instead of v2 protocol. Thus, we propose to upgrade the ratelimiter core to v3 protocol. Since there doesn’t seem to be any real changes between v2 and v3, this seems to be as easy as replacing the imports and referencing newer versions in the data plane.

However, to support complete compatibility with v2, we’d need to have a legacy layer, just like it’s done for v1 now. Supporting 3 versions of the protocol with 2 legacies seems like an overkill, so we propose to simultaneously drop support for v1 ratelimit.proto. Seems like it should be ok given that the release schedule proposed doing so in [Q32018](https://github.com/envoyproxy/ratelimit#deprecation-schedule) [2]

**Proposal**
Thus, the concrete proposal:
Protocol v1 support is dropped
Protocol v2 becomes legacy and converted to v3. Given that the protocols are only different in message names, this should have almost no performance penalty
The service core is updated to use protocol v3

We intend to contribute all the code. We are also planning to use v3 protocol in production in our own fork in the beginning, thus we can provide some battle testing. What do you think?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.