короче, есть нечто (чисто внутри корпоративное, для сотрудников), прекрасно работающее в Северной Америке. у пользователей из офиса США проблем нет никаких вообще. У нас из РФ проблем нет тоже.
Но есть китайцы... Ходить прямо в NY из Китая немного долго и тормозно.
Поставил им две прокси в Шанхае и Гонконге. Просто дешманская виртуалка облаке Алибабы с nginx, в конфиге которого два location с proxy_pass
Один location тупо пропускает все через себя насквозь, ничего даже не кэшируя (это бэкенд для JS морды, там один хрен всякие ресты, которые кэшировать и нельзя и без толку)
Второй location для картиночек, там включен кэш, конечно.
Смысл всего этого действа в том, что или из-за великого китайского файрвола или еще по какой причине доступ напрямую "китаец -> NY" работает гораздо медленнее, чем доступ "китаец -> прокси в шанхае -> NY" или "китаец -> прокси в Гонконге -> NY". Ну вот так там устроена сеть, видимо, что от китайца до прокси и от прокси до NY работает быстрее, чем напрямую мимо проксей. Быстрее - это в пять раз, так что приседания имеют смысл.
Клонировать бэкенд из NY и ставить ближе прямо в Гонконг и Шанхай нет смысла никакого. Он все равно будет в овер 90% случаев ходить в базу, которую клонировать нельзя, это адов энтерпрайз и вообще AS/400 и DB2. То есть притащить бэкенд - быстрее не станет, только геморроя будет больше, чем с тупой проксей.
В чем собственно проблема. Когда по ресурсу одновременно лазают несколько китайцев в китайском офисе, их сессии путаются между собой! Такое впечатление, что в ответ на запрос одного ему иногда (очень иногда) прилетает ответ на запрос другого, с кукой этого другого.
Ессно выглядит как будто юзер "перелогинился в другого" (userid в сессионной куке).
Первое что сделал, выключил кэш вообще, для всех запросов (не понимаю, как может повлиять, но мало ли).
Есть ощущение, что путаются запросы не из-за nginx на проксях вообще, а из-за какого-то другого говна посередине, между юзерами и проксями. Например, офисный шлюз (путаются юзеры, сидящие в одном офисе за разными компами). Это железка Fortigate. Но доказать этого я не могу и не представляю как.