We had multiple incidents due to high-volume calls to some critical services, like ne. One of the solutions that we have identified to prevent such incidents is API rate limiting. This basically works as a service traffic control, preventing the service from being overloaded by requests.
Please note that rate limiter is a self-defense mechanism of the server. The clients who are rate limited should have their own fault-tolerance mechanism.
Rate Limiter can limit based on certain time window, the client app, and resources called. Note the limit is per machine
At this point, we are going to put rate limit on getHotelSEOById
, from TV
.
The limit is set to be 5 times peak request, within 5 minutes
I am going to add the config today 18 May, around 1pm.
If your application getting exception due to Rate Limiter, please let me or Local Team know. We are having a very huge global Rate Limiter (1 billion calls per 5 minutes)
Metrics monitoring can be seen here: https://metrics.traveloka.com/dashboard/db/coin-ne-rpc
Thanks,