Во! Хоть кто-то приблизился к пониманию проблемы. Но тоже далековато.Луашака в данном случае, когда идёт за коннектами в другие сервисы (например, в статистику по количеству и продолжительности запроса и разбивке запроса по фазам).. она попадает в пул коннектов, специфичный для воркера и в результате у тебя получается коннектов n*cpu*pool_size.
Проблема невелика, когда у тебя 2 сервера на локалхосте, а когда у тебя сотни-тыщи серверов, то апишка статы начинает проседать элементарно от во-первых количества запросов в секунду, а во-вторых от количества установленных соединений. А усугубляется проблема тем, что луашня не может нормально в http/2.0 и websocket-ы, чтобы удерживать постоянные 2-4 соединения (на каждый воркер в рамках экземпляра nginx-а) к апишке, внутри которых мультиплексировать трафик в апишку.
Собственно, любое решение, способное организовать единый пул коннектов на весь экземпляр nginx-а подошло бы. Просто модуль, который они начали писать для луашни/nginx-а на сишке довольно быстро начал превращаться в монстра, который решил пустить корни уже в сам nginx... И видимо в какой-то момент было принято решение о том, что при наличии такого количества интрузивных изменений будет проще написать свой http-сервер с нужными решениями конкретных cloudflare-оских задач, чем с каждым новым релизом nginx-а натягивать на него кастомные патчи и луашню.
А раст был выбран не из-за того, что он такой хороший, а потому что местные питонисты, простите, программисты пытаются быть модными и современными, чтобы было чего в резюме записать, в случае чего. Ну и да, генерируемый бинарник действительно относительно быстрый, по скорости не сильно отстаёт от плюсов да ещё и довольно "бесплатно" (по cpu/памяти) может ходить в сишку и плюсы, что какбэ является плюсом по сравнению, например, с гошкой.