Я все еще новичок, но теперь я использую AWS / EC2 Redhat Machines. У меня есть:
Что-то вроде:
LB
|
-------
| |
Web Web
Тогда теперь, если я собираюсь поставить 1x Varnish
Впереди 2x Web Servers
:
Пожалуйста, предложите, и будет ли это так:
LB
|
[V]
-------
| |
Web Web
Это?
И снова мои вопросы:
LB
уже не очень полезно (я полагаю). Будет Varnish
снова быть здесь балансировщиком нагрузки?Пожалуйста, подскажите мне правильное размещение и поделитесь логикой.
Спасибо тебе.
Как говорит ianjs, ELB все еще может играть роль в вашей настройке ... все зависит от ваших потребностей (автоматическое масштабирование, конечная точка SSL, избыточность и т. Д.). Узнайте, как другие сталкивались с подобными проблемами [1] [2]
Между тем, если вы хотите использовать Varnish в качестве кеша, вам необходимо разместить его между балансировщиками нагрузки, если они есть, и вашими бэкэндами (используя согласованное хеширование [3], если задействовано более одного экземпляра Varnish) , но архитектура может оказаться довольно сложной, если вы захотите масштабировать ее по горизонтали (есть хороший пример с HAProxy [4]).
Итак, если вы собираетесь использовать 1 инстанс Varnish и 2 бэкэнда (без автоматического масштабирования, ssl и никаких дополнительных функций Amazon), вы можете оставаться простым и избавиться от ELB:
Varnish
|
---------
| |
Web1 Web2
Но вам придется:
Так что вам решать, какую архитектуру лучше всего удовлетворить вашим потребностям.
[1] https://stackoverflow.com/questions/14167561/using-an-aws-elb-behind-varnish-is-it-possible
[2] http://cloudreach.blogspot.com.au/2013/01/varnish-and-autoscaling-love-story.html
[3] http://en.wikipedia.org/wiki/Consistent_hashing
[4] http://blog.exceliance.fr/2012/08/25/haproxy-varnish-and-the-single-hostname-website/
[5] https://www.varnish-cache.org/docs/3.0/reference/vcl.html#directors
[6] https://www.varnish-cache.org/docs/3.0/reference/vcl.html#backend-probes
Доступен ряд конфигураций. Каждая конфигурация имеет определенные преимущества и недостатки, которые необходимо оценить (например, производительность, обслуживание, простота настройки, масштабируемость и т. Д.).
Для балансировщика нагрузки вы можете использовать ELB от Amazon и / или собственное решение Nginx / HAProxy. Вы можете использовать один (или несколько) серверов Varnish, и они могут быть либо на их собственном компьютере, либо Varnish может быть установлен и запущен на том же сервере, что и ваш веб-уровень.
Простая установка - это лакировать Установленные на веб-серверах.
LB
|
---------------
| |
Web&Varnish Web&Varnish
Хотя у этого есть недостаток, заключающийся в том, что вы не можете масштабировать вашу сеть независимо от лака, его быстрее настроить и понять. Это также упрощает вашу архитектуру. Этот подход может вам очень помочь. Я полагаю, что в какой-то момент вы перерастете это, поскольку у него есть некоторые очень очевидные проблемы с масштабируемостью.
ELB по-прежнему может служить цели:
Все это, вероятно, можно настроить без ELB, но решающим аргументом для меня была обработка SSL в балансировщике нагрузки. Лак не будет обрабатывать SSL за вас так что вы можете заставить Load Balancer справиться с этим и передать http с вашим сервером Varnish.