configuração do farm de servidores para um grande site do Drupal

6

Estou configurando um grande site Drupal (Pressflow) e este é meu plano atual. Eu fui e fiz qualquer coisa descaradamente estúpido? Alguém tem alguma experiência em hospedar uma instalação grande e multi-servidor do Drupal como essa?

    
por ceejayoz 03.03.2010 / 22:46

3 respostas

6

Eu ficaria tentado a ter um par de nós de verniz por trás do HAProxy para fornecer um cluster de verniz HA.

Você pode facilmente ter mais de 2 nós de verniz, sem a necessidade de HAProxy, mas só é possível balancear a carga do Tráfego HTTP. Pelo menos com o HAProxy, você também tem um balanceador de carga TCP.

Como você propõe a borda da sua rede? Você planeja ter um par HA de firewalls de hardware? Você precisa de roteamento de borda, BGP e vários trânsitos?

Outra coisa a considerar é como o seu servidor de arquivos funciona. Você provavelmente poderia se beneficiar de ter um par de servidores de arquivos, usando um servidor de armazenamento como GlusterFS ou MogileFS. Dessa forma, você pode garantir redundância por toda a infraestrutura.

A adição de vários nós Memcached também é trivial, oferecendo mais redundância e resiliência contra picos de tráfego e falhas de hardware.

Certifique-se de tomar medidas para otimizar a entrega de conteúdo do front-end, especialmente se você prevê um tráfego alto. Mantenha todas as mídias em um domínio de mídia, de preferência um sem cookies, como link sstatic.net

Você também pode considerar o uso de um CDN para armazenar em cache o conteúdo estático, como CSS e JS não alterável. Essa infraestrutura de cache de vários níveis nivelará o efeito slashdot e também lhe dará mais resiliência ao fracasso. Isso ocorre porque uma proporção tão grande de solicitações do navegador é para conteúdo estático, que pode ser efetivamente servido a partir do PoP de um CDN, que é o mais próximo do solicitante. A outra vantagem do armazenamento em cache em várias camadas (Navegador, CDN, Varnish, Memcache) é que depois de um tempo, tudo é armazenado em cache várias vezes, em vários lugares. Isso lhe dá a resiliência contra falhas.

Um grande site drupal não é diferente de um grande site de qualquer coisa. Apenas garanta que você tenha vários níveis de redundância em todas as camadas da rede.

Quanto à especificação dos servidores reais, você provavelmente precisará de > 8G de RAM nos nós do verniz.

Eu recomendaria as NICs dos servidores Intel nas caixas do balanceador de carga e com os switches Cisco ou HP Procurve para o núcleo da sua rede.

Os nós do seu banco de dados devem ser servidores com vários processadores rápidos com discos SAS de 15k para velocidade. Para redundância, coloque 4+ discos em um array RAID10.

Eu não recomendaria fazer isso em um ambiente de hospedagem compartilhada. Servidores dedicados podem estar OK, mas para mim, eu estaria especificando um rack de 1/4 em um datacenter neutro. Dessa forma, você obtém a maior liberdade para a configuração e o gerenciamento reais dos servidores.

Adicionado:

Você precisa executar o apache?

Para os servidores que hospedam os arquivos de mídia no domínio cookieless, você provavelmente seria melhor hospedá-los em um servidor HTTP mais leve, o Nginx é uma solução fantástica para isso.   O Apache provavelmente é mais adequado para a hospedagem do próprio Drupal, mas não há nenhum motivo real para você não usar o Nginx e o FastCGI, por exemplo.

    
por 06.03.2010 / 13:52
1

Algo que vale a pena mencionar é que, se você planeja usar https, precisará de algo na frente do balanceador de carga para lidar com as conexões https. Não tenho certeza se o verniz pode lidar com isso, mas eu recomendo usar nginx ou stunnel para esse trabalho.

    
por 12.03.2010 / 09:36
0

Posso perguntar como você planeja implementar um servidor de arquivos separado? Isso é algo que eu realmente procuro, mas o srupal padrão não parece apoiar isso.

    
por 25.06.2010 / 14:19