Envoy parallel filter

Viewed 51

Imagine that I have service A which provides the proper response for the requests and service B which wants to observe all the requests and do some time consuming tasks like logging all the requests, so its response shouldn't affect the final response of the system which is produced by service A.

In other words, I want Envoy to send a copy of requests to service B concurrently so that the low performance of service B doesn't affect the performance of the final system. What is the best practice for this scenario?

1 Answers

If its just logging then you may use existing logging filter that envoy proxy provides.

Let's say you don't want that, and you want some of your own custom magic then you may use LUA filter to pass a copy of request to logging system while primary services actually processes the request and response.

Additionally you may although write you own C++ based filter all by yourself, to if you want further low level control.

Envoy proxy is very flexible for all such scenarios.

Related