PROCURAR:     
  Sábado, 07/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 I
Por: Elias Bareinboim

Introdução

Neste artigo, discutiremos sobre o Apache e suas novidades para a próxima versão por entender que existe escassez de material sobre o assunto por aqui e pouca divulgação do tema, o que compõe um quadro paradoxal e incompatível com a realidade de sua adoção e envergadura aqui no Brasil e no mundo.

Voltando ainda mais um pouco, para os menos avisados, Apache é o servidor Web (por enquanto somente Web, vem novidades por aí) mais usado no mundo, tem cerca de 60 % do mercado contra 20 % do IIS da Microsoft, o resto esta pulverizado entre outros Sun/Netscape/AOL, etc. Estes são dados do site Netcraft.com, especializado em pesquisas do tipo. De acordo com esta pesquisa, desde de abril de 1996 o Apache é o líder em servidores Web.

O Apache é um projeto de esforço de desenvolvimento colaborativo com objetivo de desenvolver o melhor servidor Web em performance, robustez, flexibilidade e com padrões de excelência e qualidade. Tem em seu grupo de trabalho programadores das Universidades MIT, Berkeley, Stanford, e empresas como IBM, Sun, HP, Compaq, RedHat entre diversas outras.

Entre suas principais características está multiplataforma, robustez, performance, adatpatabilidade, gratuidade e boa documentação. Ele tem vantagens em cima dos outros servidores, como código fonte completo e uma licença irrestrita. É compatível com a especificação HTTP/1.1, permite mudanças em suas características (flexibilidade) mesmo em suas partes mais internas (core) através da utilização de módulos, e tem sua própria API padronizando toda programação interna.

Vou dividir o artigo em algumas partes: considerações gerais, portabilidade, novo modelo de gerenciamento de memória, filtros, logs com pipes, outros protocolos e CGIs. Vou tentar dar independência entre as partes para que fique mais fácil a leitura e caso deseje-se ler uma parte isolada seja possível.

Panorama Geral

Na versão 1.3 o Apache sofre de alguns problemas como todo software. Apesar de ser bastante leve e robusto, em algumas plataformas no quesito escalabilidade ele deixa a desejar, como por exemplo AIX e Windows. No AIX quando você começa a escalar carga na casa de centenas e milhares de requisições por segundo, mesmo evoluindo com a máquina ele não acompanha. Já no Windows, no contexto geral seu desempenho é sofrível. Ou seja, algo deve ser feito para essas plataformas.

Além disso, com a evolução da Web novas funcionalidades se fazem necessárias, como mais confiabilidade, melhor segurança e como sempre, mais performance. Com o Apache não é diferente, e para se manter líder ele também deve evoluir. Com esta versão ele tende a se tornar o mais robusto e rápido servidor Web do mercado.

Citando por alto algumas mudanças:

  • Unix Threading: O Apache agora em sistemas com padronização POSIX para Threads pode rodar em modos híbridos Multi-Processos/Multi-Threads. Isso melhora a escalabilidade.
  • Novo Sistema de Compilação: O sistema de compilação foi totalmente refeito, do zero, e utilizará libtool/autconf. Isso o torna mais parecido com outros pacotes, ponto para padronização.
  • Suporte a múltiplos protocolos: Internamente terá mecanismos para servir outros tipo de protocolos, além do HTTP tradicional. Deixará de ser um servidor Web para ser um servidor de "infra-estrutura".
  • Melhor suporte para outra plataformas não-Unix: Nesta versão 2.0 o Apache é mais rápido e estável em versões não-Unix, como no BeOS, OS/2 e Windows. Com a introdução da arquitetura de módulos específicos para plataformas diferenciadas (MPMs ? Multi-Processing Modules). Também temos o APR (Apache Portable Runtime), que possibilita a implementação na API nativa de cada sistema, evitando ter que se usar camadas emuladas para simular padronizações do tipo POSIX.
  • Nova API: Muitos dos problemas da API antiga foram solucionadas e muita coisa automatizada. Agora temos mais fases e por chamada podemos fazer nossos módulos, diferente da estrutura rígida da versão 1.3. Não é mais necessário alguns malabarismos ou patches no próprio servidor, está mais flexível. Depois falo de como migrar entre versões e entro em detalhes. Além disso, mais enxuto, menos redundante e menos gastador de memória não necessária.
  • Suporte ao IPv6: Em sistemas que tenham IPv6 (pela APR), o Apache automaticamente responde com tal protocolo para todas suas conexões. Todas as características de Hosts Virtuais e derivativas já funcionam com o protocolo.
  • Filtros: Módulos para Apache podem ser escritos como filtros, trabalhando direto no fluxo de conteúdo que seria entregue para o usuário. Isso possibilita, por exemplo, a saída de um script CGI ser parseado por algo como mod_SSI (Server Side Include). Uma das principais mudanças desta nova versão.
  • Método de configuração: Na versão 1.3 na inicialização cada linha era lida por vez e interpretada. Agora o servidor lê toda configuração e cria uma árvore, depois disso a árvore é percorrida e cada diretiva é executada. Isso permite algumas contextualizações no arquivo de configuração, de módulos que mudem o comportamento de outros que já tenham sido lidos. Flexibiliza o servidor na hora da inicialização, é uma feature bastante focada e menos prática para os usuários.

Próximo»

Introdução
Panorama Geral
Portabilidade - MPMs (multi-processing modules)


Enviar para um amigo

Imprimir

Índice de artigos

ENQUETE
O que você achou do Ubuntu 9.10?

Excepcional
Muito bom
Razoável
Mesma coisa
Não gostei


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.