ContentLanguages should be cached in process.
As a starting point I would suggest the TTL is 5mins. Assuming 1request/second and only 1 instance this gives us a hit rate of around (299/300)=99.7% and reduces our number of hits to the API by a factor of 300. On the other hand 5 min is an acceptable delay to get new languages given that they happen fairly rarely.
After talking on IRC with the serviceops people (bd808 and _joe_) it sound like only having 1 instance is likely but we should be prepared for it to scale up slightly if needed with load. We would expect ca. 1-3 instances (probably 1) and not 10-50.
Notes
- there is a axios cache adapter
- there is also axios-extensions
- https://github.com/axios/axios/issues/31 has some simple library-free suggestions