2016-12-20 11 views
1

Как я имею одно приложение, в котором архитектура является согласно ниже,Как масштабировать сам узел haproxy?

users ----> Haproxy load balancer(TCP Connection) -> Application server 1 
                -> Application server 2 
                -> Application server 3 

Теперь я имею возможность масштабирования и масштаба в серверах приложений. Но из-за большого количества TCP-соединений (около 10000 TCP-соединений) моя операционная память Haproxy loader balager полностью заполнена, поэтому еще больше не удается добиться большего количества последующих TCP-соединений. Поэтому нужно добавить еще один узел для самого happroxy. Поэтому мой вопрос заключается в том, как масштабировать сам узел haproxy или есть ли другое решение для него?

Как я использую приложение на AWS. Ваше решение высоко ценится.

Спасибо, Mayank

ответ

2

Использование AWS Route53 и создать синонимами, которые указывают на ваши HAproxy экземпляров.

Например:

Создать CNAME haproxy.example.com указывая на HAproxy Instance1. Создайте второй CNAME haproxy.example.com, указав на haproxy instance2.

Оба ваши CNAME должны использовать какую-то политику маршрутизации. Простейший, вероятно, круговой. Просто поворачивается над списком CNAME. При поиске haproxy.example.com вы получите адреса обоих экземпляров. Порядок возврата ips будет изменяться с каждым запросом. Это распределит нагрузку равномерно между двумя экземплярами.

Есть еще много вариантов в зависимости от ваших потребностей: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html

В целом это довольно легко настроить.

Немногие несвязанные проблемы: вы также можете настроить проверки работоспособности и трафик трафика на оставшиеся здоровые экземпляры (ы), если это необходимо. Если вы работаете с двумя экземплярами, вы можете добавить еще несколько, чтобы справиться с ошибкой экземпляра.