On Wed, Jun 2, 2021 at 6:28 PM Илья Шипицин <[email protected]> wrote:
> application usually knows the best whether its requests might be cached or > not. > for example, html5 manifest can prevent from F5 storms. > > it is always better to shift caching activity to app level > Hi Ilya, This discussion has gone a bit sideways, POST requests caching wasn't really the question here. I just assumed I would be able to do it with HAProxy and was informed that it was not possible when I described why I wanted to modify POST requests. Great, good to know and constructive, I've already solved that by using nuster, which uses upstream(or is it downstream) HAProxy and adds additional cache features. So even if the backend API has a L1 (in-jvm-memory) and L2 (memcached) cache, response time is 80-100ms for my example query. With nuster cache I have response times that are sub 10ms. So even if I decided not to follow best practices or recommendations I already see great benefits for the client and the backend. I certainly hope this is not taken the wrong way, I do appreciate the help and feedback on what's the incorrect way to solve this problem. But I do prefer actual answers of what's possible to do with HAProxy and I guess this is a "for a hammer every problem is a nail" situation here. To avoid continuing the discussion about POST requests caching and best practices in other software outside of my control and how stuff would work in an utopian situation I am going to explain who I am not. I am not an application developer, I do not control any client software, nor do I control clients requests outside of the load balancer, nor do I write the software for the underlying API. I do however want to serve the clients to the best of my ability even if they do not follow best practices, so consider me the hammer and I'm going to solve my problems using the only nail I have, HAProxy(nuster). Rewriting software where the client requests comes from would take a long time and is something that is outside of my control. I am simply looking for help on what I can do with HAProxy. So my question was, can I do body transformations of POST requests with HAProxy? - The answer I'm looking for is "YES using this technique or feature, but I would not recommend..." or "NO, not with HAProxy, use another software", even if the YES comes with a strong discouragement I would still take it. At least then I would know where to look and be able to try it to decide if it works for me or not. Thanks for understanding. Elias

