Resumo: clientes de grandes empresas como planejamento de vôos usam Oracle, Sun, IBM Bladecenters e código personalizado, grandes empresas como eBay, Twitter, Facebook, Google usam tudo personalizado, qualquer coisa que consigam fazer funcionar e também mantêm segredo porque é uma das coisas mais difíceis que eles tiveram que resolver para tornar sua empresa possível.
-
Pequenos servidores web se tornaram muito comuns, e você normalmente vê um servidor web como Apache, Tomcat ou IIS, e talvez com um banco de dados por trás dele (PostgreSQL, SQL Server ou MySQL), e talvez com uma camada de programação também (PHP, Python, Ruby, Java, etc).
Para configurações maiores, mas ainda pequenas, você separa essas camadas em servidores diferentes - dois executando o Apache, ambos observando o mesmo arquivo compartilhado, dois executando o banco de dados com metade dos dados em cada, talvez outro fazendo cache, ou talvez você apenas faça eles tão poderosos quanto você pode pagar. Isso pode levar você a um longo caminho - a Plenty of Fish entrou nos 100 principais sites da HitWise em 2007, servindo mais de 2 milhões de visualizações por hora, com 1 servidor e terceirização de hospedagem de imagens para a Akamai.
Se você é rico, por exemplo o governo, o setor aéreo, etc., você pode expandir a partir daqui, indo para servidores massivos e especializados, como bladecenters, servidores Sun com dezenas de processadores, dezenas de discos em um dispositivo de armazenamento e bancos de dados Oracle, etc.
Para todos os outros, a questão de como aumentar o preço barato ainda não foi respondida. Como eles fazem isso é um dos principais problemas de sua empresa, e um deles gastará muito esforço na construção personalizada.
Ele provavelmente consistirá em maneiras interessantes de envolver muitos servidores de banco de dados. Não no Google, eles escreveram seu próprio sistema de arquivos e substituição do banco de dados no topo . Você pode ver sharding (dividir seu conteúdo A-M em um servidor, N-Z em outro) ou replicação (todos os servidores têm os mesmos dados, leituras vêm de qualquer um deles, gravações vão para todos) ou algo personalizado.
Ele provavelmente consistirá em muitos servidores de armazenamento em cache, por exemplo, executando o Memcached. Eles terão muita RAM e retornarão rapidamente as consultas ao banco de dados que foram feitas antes, arquivos solicitados recentemente. Em 2008, o Facebook disse: "Nós usamos mais de 800 (memcached) servidores que fornecem mais de 28 terabytes de memória para nossos usuários". link
Você provavelmente encontrará alguns serviços da CDN (rede de distribuição de conteúdo) como a Akamai, onde você lhes dá todas as suas fotos e as espalha pelo mundo, e você cria um link para elas e veicula automaticamente as fotos mais próximas do usuário. sua rede.
Você também encontrará muitos códigos personalizados e pessoas trabalhando duro, mas mantendo-o em segredo. Servir leilões do eBay significa lidar com muito tráfego, mas os dados de um único item de leilão são praticamente estáticos, mas a pesquisa de leilões do eBay significa muito processamento de dados. O Google pesquisando na web significa muito processamento de dados, mas de uma maneira diferente - dados diferentes armazenados em um servidor diferente. O Facebook significa muitas informações cruzadas por muitos usuários, e o Twitter também, mas com características diferentes. O Google e o Facebook projetam seu próprio hardware de servidor.