2009-05-18 19 views

risposta

28

Ho eseguito un ELB invece di HAProxy per circa un mese su un sito che riceve circa 100.000 visite al giorno e sono stato piuttosto soddisfatto dei risultati.

A Gotcha però (UPDATE, questo problema è stato risolto da Amazon AWS, vedi commenti qui sotto):

  1. Non è possibile caricare bilanciare la radice di un dominio come si deve creare un alias CNAME al tuo bilanciamento del carico. Una volta la soluzione è di reindirizzare tutto il traffico da http://mysite.com a http://www.mysite.com.

A parte questo, non posso davvero parlare abbastanza delle offerte AWS ELB. Sto anche usando il monitoraggio e la scalabilità automatica di Cloudwatch. Oh, e non dimenticare che costa meno di una piccola istanza EC2 ($ 0,025 all'ora invece di $ 0,10).

+6

ELB dispone ora della funzionalità di terminazione SSL: http://aws.typepad.com/aws/2010/10/elastic-load-balancer-support-for-ssl-termination.html – Nathan

+0

Come hai reindirizzato il tuo traffico da http://mysite.com a http://www.mysite.com – Tihom

+2

utilizzando un reindirizzamento HTTP a livello DNS. – arfon

6

Ci sono lamentele nel forum di Amazon sull'affidabilità di ELB. Ti suggerisco di andare laggiù e cercare su ELB per formare la tua opinione su quel fronte.

Volevamo utilizzare ELB per bilanciare il carico delle richieste di servizi Web, ma abbiamo molti chiamanti esterni, alcuni dei quali inviano un messaggio 100-Continua HTTP. Sfortunatamente ELB non capisce quella parte del protocollo HTTP, quindi non siamo in grado di andare oltre la proof-of-concept finché questo non viene affrontato.

2013 Aggiornamento

Secondo un post sul forum AWS, HTTP 100-Continue è ora supportato.

https://forums.aws.amazon.com/message.jspa?messageID=144022

+0

scusa per commentare questo post molto vecchio. Ma, hai qualche idea se il 100-Continua è supportato oggi in ELB? (Non ho trovato alcuna informazione recente su questa caratteristica mancante) – ben75

+0

@ ben75: Apparentemente ora è supportato. Aggiornata la risposta. –

19

dipendenza ELB su CNAME record DNS indirezione è abbastanza paralizzante per i servizi web che hanno bisogno di essere molto veloce. Nel nostro caso dobbiamo avere tempi di risposta molto buoni. In un rapido test delle prestazioni, l'utilizzo di un ELB ha aumentato la latenza media per le richieste HTTP di un fattore di quasi 2. Ciò è dovuto principalmente al fatto che il TTL nella ricerca CNAME è zero. Pertanto, tutte le ricerche comportano il colpire i server dei nomi per due diversi domini, quindi la risoluzione dei nomi è molto più lenta. (Temo che sconfiggere il caching in DNS sia semplicemente un abuso del sistema.) L'unica speranza per ELB nel nostro caso sarebbe quella di allontanarsi dai record CNAME avendo Amazon che supporta un IP Elastic come indirizzo di un'istanza di bilanciamento del carico.

0

Uno dei problemi principali per molti utenti con ELB è che non supporta l'appiccicosità, che è un killer per molte applicazioni Web.

Secondo gli sviluppatori Amazon AWS, tuttavia, dovrebbe venire nella prossima versione.

+0

Ciao Jeff Cosa intendi per appiccicosità. ? – Dom

+0

Sessioni appiccicose (in modo che una richiesta da un client instradi sempre verso lo stesso server, più comunemente implementata con i cookie) –

+0

se non si è in grado di memorizzare i dati della sessione in una memoria comune, si dovrebbe probabilmente utilizzare un LB. non dovrai bilanciare alcun carico :-P , che ne dici invece di eseguire il vecchio sottodominio www1, www2, www3, ecc se hai bisogno di quella funzionalità. –

10

Un altro problema è ottenere l'indirizzo IP del client. Per il normale HTTP questo funziona bene, poiché ELB imposta l'intestazione X-FORWARDED-FOR. Ma per HTTPS questo non è possibile perché si sta inoltrando al livello TCP. Speriamo che un giorno l'ELB avrà la terminazione SSL.

+8

E ora lo fa! – crb

Problemi correlati