![](https://webcf.waybackmachine.org/web/20230618120057im_/https://habrastorage.org/r/w780/getpro/habr/upload_files/573/422/416/5734224162c5c01d5767b6bc8f8b0e0a.jpg)
Не судите строго, это моя первая статья, наверное если бы я был гуру Nginx и "Линуха", то скорее всего боли и страданий бы не было.
С чего все началось?
Одним днем мне понадобилось реализовать довольно не тривиальную задачу:
Есть множество сервисов с которых нужно собирать данные для обработки и дальнейшей аналитики, модуль который это все собирает может быть установлен на множество серверов (пока 40, но в горизонте года это 1000), но хочется чтобы все обращения от этих серверов шли на один ip , а с него уже распределялись в зависимости от типа запроса или конечной точки обращения. Условно мы обращаемся к серваку 100.1.2.101 по порту 8080 и просим от него данные о всех домах на определенной территории ,он в свою очередь по заданному сценарию коннектится к определенному proxy (Допустим squid, он нужен так как некоторые api залочены по ip) и через него получает данные из конечного api.
P.S. Данные нельзя хранить на промежуточном сервере, так как они слишком часто обновляются :(
В итоге я решил эту задачу разделить на несколько этапов одна из них это распределение нагрузки...