PROCURAR:     
  Quarta, 25/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
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.