Цель того флага состоит в том, чтобы смочь определить правила в различных файлах конфигурации, но все еще быть гарантированными, что тот с флагом LAST сделан в последний раз.
Хорошо, я никогда не создавал решение для выравнивания нагрузки AWS с трафиком на уровнях SmugMug сам, но просто размышлением о теории и сервисах AWS, несколько идей приходят на ум.
Исходный вопрос пропускает несколько вещей, которые имеют тенденцию влиять на дизайн выравнивания нагрузки:
Я отвечаю с точки зрения того, как сохранить сам слой выравнивания нагрузки высоконадежным. При хранении серверов приложений HA просто сделан с проверками состояния, встроенными в подсистемы балансировки нагрузки L7.
Хорошо, несколько идей, которые должны работать:
1) "Путь AWS":
Преимущества/идея: подсистемы балансировки нагрузки L7 могут быть довольно простым EC2 AMI's, все клонированные от того же AMI и использования той же конфигурации. Таким образом инструменты Amazon могут обработать все потребности HA: ELB контролирует подсистемы балансировки нагрузки L7. Если L7 LB умирает или становится безразличным, ELB & Cloudwatch вместе порождают новый экземпляр автоматически и приносят его в пул ELB.
2) "Циклический алгоритм DNS с контролирующим путем":
Преимущества/идея: Совместимые агенты пользователя должны автоматически переключиться на другой IP-адрес, если Вы становитесь безразличными. Таким образом, в случае отказа, только 1/3 Ваших пользователей должен повлияться, и большинство из них ничего не должно замечать, так как их UA тихо заменяет к другому IP. И Ваше внешнее контрольное поле заметит, что EIP безразличен, и исправьте ситуацию в течение нескольких минут.
3) DNS RR к парам серверов HA:
В основном это - собственное предложение Дона простого heartbeat между парой серверов, но упрощенный для нескольких IP-адресов.
Преимущества/идея: В полностью виртуализированной среде AW на самом деле не настолько легко рассуждать о сервисах L4 и режимах обработки отказа. Путем упрощения до одной пары идентичных серверов, поддерживающих всего 1 IP-адрес, становится более простым рассуждать об и тест.
Заключение: Снова, я на самом деле не попробовал ни одного из этого в производстве. Только от моего инстинктивного чувства, опция один с ELB в режиме L4 и самоуправляемыми экземплярами EC2, поскольку L7 LBs кажется наиболее выровненным с духом платформы AWS, и где Amazon, скорее всего, вложит капитал и расширится позже. Это, вероятно, было бы моим предпочтительным вариантом.
Если Вы не делаете липких сессий, или если Вы используете стиль кота/апача (добавьте идентификатор узла к sessionid, в противоположность хранению состояния в LB), то я использовал бы ELB перед группой haproxies. ELB встроили healthcheck, таким образом, у Вас может быть он, контролируют haproxies и берут любого вниз из пула. Партии меньше для установки, чем обработка отказа heartbeat.
До распространения изменений у меня нет большого ответа. Марионетка является великой для первоначальной конфигурации и реализующих изменений, но для добавления/удаления узлов Вы склонны хотеть более быстрый ответ, чем его 30-минутный интервал опроса.