quando sua imaginação está fora de foco"
Mark Twain
Eu havia lido anteriormente na Folha Online que muitas pessoas estavam tendo problema com congestionamento nos servidores, mas lá fui eu. Como tenho planos de passar o natal no Brasil, pensei que poderia fazer uma paradinha em São Paulo para assistir o show, já que o daqui a Suíça eu não consegui. Quando entro no site principal, eis que me deparo com a seguinte imagem:
Isso é que é balanceamento de carga hein?! Será que alguém da ticket4fun já ouviu falar, mesmo que vagamente, em IPVS ou LVS?
Ainda bem que a tecnologia está aqui para servir os usuários :)
Como eu queria saber quem são os sysadmins da tickets4fun....just4fun!
***************************
Atualizações:
Recebi alguns emails pedindo para explicar melhor o problema ou "funcionalidade" descrita no meu post. Então aqui vai...
Digamos que você tenha um servidor na internet, e este tem capacidade para 50 usuários simultâneos. O seu serviço (neste caso a venda de ingressos) vai funcionar perfeitamente, até que você atinja os 50 usuários simultâneos. Se você tem 320 usuários simultâneos, com simples matemática, você chega a conclusão que precisa de 7 servidores, e vai ainda ficar com folga, já que 7 servidores, considerando que cada um atende 50 usuários, conseguiríamos atender 350 usuários.
Bom, para fazer com que isso funcione, sem que o usuário se sinta um idiota procurando por um servidor não carregado (como no caso no site da tickets4fun), você usa uma tecnologia chamada de balanceamento de carga. São basicamente computadores que vão direcionar conexões para todos os backends, baseados em regras pre-definidas, como por exemplo, "envie a próxima requisição para o servidor que tiver menos carregado agora". Quando os 350 usuários excederem, você pode colocar mais servidores para fazer o mesmo trabalho. Como o usuário na realidade só pede conexão ao balanceador de carga, a expansão da infraestrutura seria transparente, e poderia escalar na mesma velocidade que a equipe de administração de sistemas consegue instalar servidores para executar a tarefa.
O que a ticket 4 fun fez foi ignorar a existência dessa tecnologia, e fazer com que os coitados dos usuários tivessem que fazer o papel de balanceadores de carga, procurando na mão por um servidor livre, ao invés de colocar um computador para calcular e fazer este trabalho automaticamente. Obviamente, o usuário não consegue fazer, manualmente, análise de carga nos servidores para decidir qual o melhor deles no momento, então, a não ser que fosse por sorte, a probabilidade de ir parar num servidor ruim é bem grande. (ainda mais considerando que eles disponibilizaram 25 servidores)
O pior de tudo é que este tipo de tecnologia está disponível em software livre, e sem custos de licenciamento NENHUM!
Créditos:
Artigo é de autoria de Fernanda Giroleti Weiden e pode ser acessado em:
http://nanda.softwarelivre.org/node/151
11.1 O usuário retém direitos autorais e quaisquer outros direitos que já tiver posse em relação ao Conteúdo que enviar, postar ou exibir nos Serviços ou através deles. Ao enviar, postar ou exibir o conteúdo, o usuário concede ao Google uma licença irrevogável, perpétua, mundial, isenta de royalties e não exclusiva para reproduzir, adaptar, modificar, traduzir, publicar, distribuir publicamente, exibir publicamente e distribuir qualquer Conteúdo que o usuário enviar, postar ou exibir nos Serviços ou através deles. Essa licença tem como único objetivo permitir ao Google exibir, distribuir e promover os Serviços, e ela poderá ser revogada para alguns deles, conforme definido nos Termos Adicionais.
11.2 O usuário concorda que essa licença inclui o direito do Google de disponibilizar esse Conteúdo a outras empresas, organizações ou indivíduos com quem o Google tenha relações para o fornecimento de serviços licenciados e para o uso desse Conteúdo relacionado ao fornecimento desses serviços.
11.3 O usuário compreende que o Google, ao efetuar as etapas técnicas necessárias para fornecer os Serviços aos nossos usuários, pode (a) transmitir ou distribuir o seu Conteúdo por várias redes públicas e em várias mídias de dados; e (b) efetuar as alterações necessárias ao Conteúdo do usuário para ajustar e adaptar esse Conteúdo aos requisitos técnicos de conexão de redes, dispositivos, serviços ou mídia. O usuário concorda que essa licença permitirá ao Google realizar tais ações.
11.4 O usuário confirma e garante ao Google que tem todos os direitos, poderes e autoridade necessários para outorgar a licença citada anteriormente."
Fonte: http://www.google.com/chrome/eula.html
Este alerta foi dado por Anahuac de Paula Gil no Grupo de Usuários da Paraíba.
As mensagens deste post pode ser acompanhado em:
http://listas.glugpb.org.br/pipermail/glugpb/2008-September/002438.html
Referências:
http://www.google.com/chrome/
http://www.chromium.org/
Grupos de Usuários da Paraíba