2) система изображает из себя stateless, а ведёт себя как stateful, причём в худшем проявлении (очень неявно внутри себя хранит какой-то стейт, вследствие чего падает при попытке поменять порядок обращений к ней). аналогичный вопрос: какие есть техники чтобы обложить такую фигню соломкой? только интеграционные тесты?
Это всегда головняк. Если у вас в тестах есть то, что вы не контролируете (каналы, днс, хреновая политика апдейтов, любящий шатать сервис контрагент), то они периодически будут флапать и ломаться. С этим только жить.
А так интеграционные тесты в помощь и статистику по ним. Если какие-то тесты валятся регулярно, то на фоне них надо различать какие другие тесты поломались или позеленели.
Некоторые кэширование запрещают соглашениями/контрактами.