De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Balanceamento de carga com o Pen

Colaboração: Cesar Brod

Data de Publicação: 07 de abril de 2014

Durante os anos 1990 trabalhei bastante com sistemas de altíssima disponibilidade e tolerantes a falhas e, logo que conheci o Linux, tornei-me um leitor assíduo da lista brasileira que tratava do assunto de alta disponibilidade no sistema. Alguém sabe se a lista ainda existe? Caso positivo, avisa aí nos comentários.

Recentemente fui apresentado ao Pen, um balanceador de carga simples para os protocolos http (inclusive com SSL), smtp e outros. Ele permite que vários servidores apareçam como apenas um para os clientes e é capaz de detectar, automaticamente, máquinas e serviços que caíram e redistribuir o trabalho entre as máquinas remanescentes. Um efeito colateral desse processo é que é possível usar o Pen, também, para escalar aplicações. Por exemplo, se duas máquinas não estão mais dando conta do recado, coloque uma terceira com o Pen para distribuir a carga.

A instalação do Pen é ridiculamente simples:

  sudo apt-get install pen

Isso para máquinas baseadas em Debian. Mas para outras, incluindo as que rodam Windows e Mac OS, também não é difícil: basta conferir o site do projeto. A configuração não é tão trivial e vai depender dos serviços que você quer espelhar e manter sincronizados, mas alguns scripts de inicialização que o site do projeto oferece como exemplos irão ajudá-lo a construir o seu.

Uma visita à página do projeto no Freecode pode lhe dar mais incentivo a encarar os scripts de inicialização e arquivo de configuração do projeto, depois que você olhar as alterações mais recentes. É possível usar o Pen para permitir, ou não, por máquina onde está instalado, o acesso web a partir de um determinado país. Por exemplo, se você tiver seu sistema distribuído entre Brasil, Uruguai, Canadá e Estados Unidos, pode ser que, no caso da queda da máquina no Uruguai, você prefira que o tráfego de rede do país seja absorvido totalmente no Brasil. Basta configurar as máquinas dos Estados Unidos e Canadá para que não aceitem conexões do Uruguai. A diretiva para essas máquinas será "acl 0 deny country UY".

Leia mais:

Alta disponibilidade em Linux: artigo de 2002, mas os links oferecidos nele têm muita informação atualizada.

Cesar Brod é conselheiro da Blackdoor Security em assuntos de alta disponibilidade.

Cesar Brod ministra cursos in-house adequados à necessidade de sua empresa, além de atuar como coach de equipes ágeis. Visite nosso portal para saber mais ou entre em contato diretamente com o autor para mais informações.

Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)