You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -29,6 +31,28 @@ applications. Applications request a rate limit decision based on a domain and a
29
31
reads the configuration from disk via [runtime](https://github.com/lyft/goruntime), composes a cache key, and talks to the redis cache. A
30
32
decision is then returned to the caller.
31
33
34
+
# Deprecation of Legacy Ratelimit Proto
35
+
36
+
Envoy's data-plane-api defines a ratelimit service proto [rls.proto](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/service/ratelimit/v2/rls.proto).
37
+
Logically the data-plane-api [rls](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/service/ratelimit/v2/rls.proto)
38
+
is equivalent to the [ratelimit.proto](https://github.com/lyft/ratelimit/blob/0ded92a2af8261d43096eba4132e45b99a3b8b14/proto/ratelimit/ratelimit.proto)
39
+
defined in this repo. However, due
40
+
to the namespace differences and how gRPC routing works it is not possible to transparently route the
41
+
legacy ratelimit (ones based in the [ratelimit.proto](https://github.com/lyft/ratelimit/blob/0ded92a2af8261d43096eba4132e45b99a3b8b14/proto/ratelimit/ratelimit.proto)
42
+
defined in this repo) requests to the data-plane-api
43
+
definitions. Therefore, the ratelimit service will upgrade the requests, process them internally as it would
44
+
process a data-plane-api ratelimit request, and then downgrade the response to send back to the client. This means that,
45
+
for a slight performance hit for clients using the legacy proto, ratelimit is backwards compatible with the legacy proto.
46
+
47
+
## Deprecation Schedule
48
+
49
+
1.`v1.0.0` tagged on commit `0ded92a2af8261d43096eba4132e45b99a3b8b14`. Ratelimit has been in production
50
+
use at Lyft for over 2 years.
51
+
2.`v1.1.0` introduces the data-plane-api proto and initiates the deprecation of the legacy [ratelimit.proto](https://github.com/lyft/ratelimit/blob/0ded92a2af8261d43096eba4132e45b99a3b8b14/proto/ratelimit/ratelimit.proto).
52
+
3.`v2.0.0` deletes support for the legacy [ratelimit.proto](https://github.com/lyft/ratelimit/blob/0ded92a2af8261d43096eba4132e45b99a3b8b14/proto/ratelimit/ratelimit.proto). This version will be tagged by the end of 2018Q3 (~September 2018)
53
+
to give time to community members running ratelimit off of `master`.
0 commit comments