PROCURAR:     
  Sexta, 27/11/2009
» Introdução
» Programação
» Administração
» Hardware
» Aplicativos
» Jogos
» Segurança
» Editorial
» Entrevistas
» Fórum
» Links
» Notícias
» Pegue o Linux
» Documentação
» Programas
» Dúvidas
» Oportunidades
» Sobre
» Contato
» Publicidade
 
Powered By:
DEBIAN
GNU/LINUX
 
English Version
 
 
Conheça o Apache 2.0 - parte II
Por: Elias Bareinboim

Novos filtros (continuação)

Outros exemplos como passar um corretor ortográfico antes de enviar qualquer página, fazer as devidas correções e enviar para o usuário, são exemplos válidos. Outra: gerar dados randomicamente, utilizando-se de cache para não despender recursos, feature usada em servidores de banners. Estes são os módulos mais simples que podem existir e não são complicados de serem desenvolvidos na versão 1.3.

Temos outros módulos um pouco mais complexos, quando temos situações de encadeamento (pipeline) de fluxos (stream), que são os módulos em cadeia (chaining content handlers, no guia de referência do Apache para mais informações) na versão 1.3.

Eles são usados quando queremos por exemplo corrigir a ortografia de um texto que foi saída de um script CGI (php por exemplo), depois inserirmos uma imagem randômica, adicionarmos a barra de navegação padrão do site, dar include nas tags SSI (Server Side Include) e outras infinitas possibilidades. Nessas situações temos a saída dos prints do 1o módulo redirecionadas para a entrada do 2o, depois a saída do 2o vira entrada do 3o, e assim vai. Temos algumas questões como sincronização, cache, cabeçalhos, entre outras coisas, que não são das mais simples de se harmonizar. Muitas das partes de interação entre módulos é feito pelo desenvolvedor. Não é das melhores coisas em produtividade, falando por experiência própria, e precisamos de lidar com algumas situações baixo nível do servidor para poder ter um resultado adequado .

O Apache 2.0 tem nativamente o conceito de filtro embutido, a saída de uma ação sendo a entrada de outra, genericamente, sem ter que se preocupar com nada. É muitíssimo útil para desenvolvedores de módulos e espero estar falando mais detalhadamente sobre isso, inclusive como portar os módulos da 1.3 para 2.0, sem traumas.

Piped Logs

Logs são uma parte importante das atividades em geral, não é diferente na Web. Todos precisam saber dados sobre visitas do site, erros que possam ter ocorrido durante as operações e outras informações que podem ser retiradas dos mesmos. Os logs tendem a crescer indefinidamente com o crescimento das atividades do seu site e o passar do tempo.

Além disso, os logs são lentos de serem gerados, pois normalmente quando falamos em operações de rede costumamos substituir os endereços ips por nomes de máquinas (hostnames). Em geral os programas desejam ser amigáveis com quem estão interagindo e haverá tradução de ips para nomes. Esse processo envolve além de tudo serviço de terceiros, como um servidor DNS, lento. Em sites intensivos em tráfego isso pode ser um problema.

Identificados estes dois problemas, tamanho de logs e lentidão na sua geração, podemos dizer que "Piped Logs" possibilitam contorná-los. No lugar de se escrever os logs para arquivos e o próprio Apache fazer toda tradução e trabalho pesado, ele simplesmente passa para um processo a parte, e este se encarrega de fazê-lo a sua moda.

Isso resolve os problemas citados acima da forma que você passa para o próximo, ou para você mesmo, numa outra instância a resolução de problemas dos logs. Existem programas como logrotate, logresolve e outros utilitário que podem fazer todo trabalho de rotação de logs por datas, tamanho, translação de nomes, e toda parte de gerenciamento de logs. Isso permite uma maior flexibilidade no servidor de forma que ele se concentra em servir o que ele tem q fazer mais eficientemente, sua funcionalidade core, enquanto o problema de logs é resolvido por outro processo, sem causar ônus para suas tarefas. Um adendo, em termos de confiabilidade, faz-se checagens para garantir que o pipe esta persistente a maior parte do tempo. Apesar de ser difícil haver uma quebra da conexão entre os processos (broken pipe), há uma preocupação e checagem em cima disso.


«Anterior

APR (Apache Portable Run-Time)
Novos filtros
Novos filtros (continuação)
Piped Logs


Enviar para um amigo

Imprimir

Índice de artigos

ENQUETE
Quais são as suas expectativas quanto ao OpenSUSE 11.2?

Que ele venha mais rápido
Seja mais leve
Mais bonito
Outros


NEWSLETTER
Inscreva-se e receba as últimas notícias, programas, artigos, novidades e tudo do mundo Linux que aconteceu na semana.
 
Digite seu email:

Publicidade / Sobre OLinux / Entre em Contato / Privacidade
Copyright (c) 1999-2009, OLinux - O Portal de Linux do Brasil.
Desenvolvido por: Linux Solutions
Todos os Direitos Reservados.