Каков наилучший способ балансировки нагрузки нескольких прокси-серверов sock5 на отдельных виртуальных машинах в одном центре данных?
В настоящее время я пытаюсь выяснить, как лучше сбалансировать нагрузку на несколько прокси-серверов sock 5 для моего нового проекта. Я изучал такие программы, как HA-прокси, но, похоже, он только загружает HTTP-прокси с балансировкой нагрузки, и для этого проекта мне нужны Sock5. Я посмотрел на DNS round robin, но не нашел способа, чтобы он мгновенно переключался на один из других серверов или удалял их из ротации. Я также обнаружил, что TTL не обновляется достаточно быстро для плавного переключения на другой сервер, когда он отключается. Это действительно беспокоило меня некоторое время, и мне очень трудно объяснить мой случай, так как у меня мало опыта в балансировке нагрузки и предотвращении сбоев для пользователей, поскольку мои проекты только недавно набирают обороты. Если то, что я только что опубликовал, кажется, не имеет смысла, я сделал диаграмму ниже, что я пытаюсь настроить.
Поэтому в основном я ищу решение для эффективной балансировки нагрузки прокси-сервера sock5 при удалении серверов, которые отключаются. http://puu.sh/3mLvL/6ef73d46d4.png
1 ответ
Есть несколько способов сделать это. Многие провайдеры позволят вам арендовать или купить устройство балансировки нагрузки, например, F5 или что-то в этом роде. Эти устройства могут балансировать нагрузку по TCP-соединениям и многим соединениям уровня 7 с набором машин. Теперь, если вы не можете получить балансировщик нагрузки на оборудовании, есть другие варианты, такие как nginx, haproxy и apache, у всех есть инструменты балансировки нагрузки для этого.
Я рекомендую вам использовать аппаратный, если у вас есть проект, который требует чего-то, чтобы быть супер быстрым. Не поймите меня неправильно, я использую много прокси nginx. Иногда у меня есть tcp-прокси, чтобы иметь прокси-сервер для уровня 7. Поскольку аппаратным балансировщикам нагрузки не нужно использовать столько энергии, а вы можете использовать гораздо больше нагрузок nginx для обработки остального трафика, это полезно, когда вам нужно сделать много терминов SSL, чтобы заставить аппаратные балансировщики нагрузки выполнять большую часть ssl, это стоит дорого, но apache, haproxy, nginx могут сделать это довольно дешево.
Nginx: http://wiki.nginx.org/HttpProxyModule https://github.com/yaoweibin/nginx_tcp_proxy_module
Apache: https://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
HaProxy: http://tenfourty.com/2011/04/09/how-to-load-balance-tcp-connections-with-haproxy/