Если вы отправляете HTTP-трафик через HAProxy, преимущество перед Nginx заключается в возможности проверять, изменять и по-разному реагировать на каждый запрос на основе заголовков, URL-адресов, файлов cookie и другой информации в пакетах.
Nginx также может делать некоторые интересные вещи, но в большинстве случаев, если вы на самом деле не обслуживаете контент с Nginx, его использование не будет превосходить использование HAProxy.
Что касается вашего вопроса о передовых практиках, онвсе зависит от того, что вы пытаетесь сделать.Я видел установки, в которых HAProxy настроен на балансировку нагрузки с дюжиной тонких серверов, где только половина доступна одновременно, а другая половина становится доступной в часы пик (в зависимости от количества соединений).Это особенно хорошо, если вы используете экземпляры EC2, которые могут быть запущены на лету, чтобы не платить за ресурсы, которые вы не используете.