Os Dois Tópicos Principais deste Artigo
A primeira parte deste artigo define os arquivos e parâmetros que podem ser alterados para otimizar o desempenho do produto DOORS Web Acess e leva em consideração os componentes para serem distribuídos por vários servidores. O teste de carga regular que é executado nesse aplicativo levou a sugestões sobre o uso e essas também estão incluídas.
A segunda parte fornece um guia de configuração para armazenamento em cluster da camada do servidor Rational DOORS Web Access do aplicativo. Isso é necessário para ajustar a escala do produto de modo que ele possa satisfazer as necessidades dos clientes corporativos.
A seção de armazenamento em cluster descreve as etapas necessárias para configurar um balanceador de carga em frente dos servidores Rational DOORS Web Access, falando para um único broker do Rational DOORS Web Access, com cada elemento em um servidor separado.
Todos esses componentes podem coexistir adequadamente, de modo viável, em um grande servidor, mas isso não contribuiria para uma explicação clara do processo. Normalmente, sugerimos distribuir os componentes em um grupo de servidores para evitar a sobreutilização de quaisquer recursos específicos.
Observação: os widgets
Esta configuração é um balanceador de carga round-robin controlado por porcentagens e não faz nenhuma tentativa de equilibrar cargas de modo inteligente por capacidade ou disponibilidade do servidor.
Configuração de Pós-instalação
Arquitetura Básica do Rational DOORS Web Access
O diagrama na Figura 1 mostra o layout conceitual de uma arquitetura do Rational DOORS Web Access, a imagem não inclui o Redirector Service, cujo uso não é abordado neste artigo.
Figura 1. Layout da Arquitetura do Rational DOORS Web Access
Configuração do Servidor Rational DOORS Web Access
O servidor Rational DOORS Web Access é desenvolvido no servidor da Web Apache Tomcat, que é uma Java Virtual Machine (JVM). Isso significa que a alocação de memória para o Rational DOORS Web Access Server pode ser crítica. Para impedir que a instalação inicial ocupe uma proporção significativa da RAM em um servidor host, a configuração padrão é para uma JVM de 512 megabyte. Isso pode ser alterado neste arquivo:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server.start.bat
Na linha 36 desse arquivo, você encontrará esta entrada:
set JAVA_OPTS=%JAVA_OPTS% -Xmx512M -XX:+HeapDumpOnOutOfMemoryError |
O valor depois de -Xmx define o limite superior da RAM permitido para a JVM. Se estiver instalando em um servidor com RAM suficiente, sugerimos aumentar esse valor para 1.536 megabytes (1,5 gigabytes). Esse suportará 70 usuários sem nenhuma degradação em desempenho e pode suportar 100 usuários com apenas uma degradação leve no desempenho. Os usuários no teste de carga devem ser considerados avançados, porque eles estão executando uma transação uma vez por minuto, o que significa que estão mantendo aproximadamente cinco transações por segundo no estado estável de qualquer teste de carga.
Se desejar monitorar o comportamento do servidor DOORS Web Access com uma ferramenta, como o Jconsole, há uma linha de código que precisa ser desmarcada como comentário no arquivo server.start.bat. Na linha 26, remova o prefixo rem de modo que as ferramentas de monitoramento possa se conectar ao servidor que está instalado na porta 9004.
Importante:
Esta foi configurada como uma porta não segura, assim não deve ser deixada disponível se não estiver em uso.
As conexões do servidor DOORS Web Access ao broker do DOORS Web Access, ao ID do servidor DOORS e ao servidor de licenciamento são manipuladas no mesmo arquivo:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server\festival \config\FESTIVAL.XML
Assim, você lida com elas ao mesmo tempo.
Há várias entradas para o host local no arquivo festival.xml (127.0.0.1), porque a configuração da instalação inicial na suposição que o broker do Rational DOORS Web Access está no mesmo servidor físico que o servidor Rational DOORS Web Access. Se isso não for verdade na sua instalação, os valores do host local precisam ser alterados para o endereço IP do servidor físico onde o broker do Rational DOORS Web Access está hospedado.
A linha 26 do arquivo festival.xml contém um valor URN definido como:urn:telelogic:ers-
Isso precisa ser alterado do padrão para o URN do repositório do Rational DOORS da sua instalação do servidor Rational DOORS.
- Para obter esse valor, conecte um thick client ao servidor Rational DOORS e selecione Ferramentas > Editar DXL.
- Execute o seguinte trecho de código na janela de diálogo pop-up que aparecer:
print getDatabaseIdentifier
- A parte inferior da janela de diálogo agora contém o valor URN a ser usado para substituir o valor no arquivo festival.xml.
- Além disso, altere a entrada do servidor de licença na linha 31 do arquivo festival.xml para a porta e o servidor do seu servidor de licença (por exemplo, 19353@myLicenseServer).
Configuração do Broker do Rational DOORS Web Access
O broker do Rational DOORS Web Access está baseado no broker de mensagem do Apache AMQ. Não há nenhum ajuste necessário para o broker do DOORS Web Access, porque ele é um broker de mensagem passivo. A alocação de memória padrão da JVM de 128 megabytes provou sempre ser suficiente.
Se, por questão de segurança, você precisar que as portas estejam fechadas quando não estão seguras, lembre-se de que a porta de monitoramento no broker do Rational DOORS Web Access está aberta por padrão. Para fechar a porta, abra este arquivo:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\broker.start.bat
Localize as linhas 29 e 30 e coloque uma instrução rem no início de cada uma dessas linhas enquanto o broker não está executando.
Configuração do Servidor Interop
Os servidores Interop são a camada entre o broker do Rational DOORS Web Access e o servidor Rational DOORS. Sugerimos que você tenha um servidor Interop para cada 25 usuários que espera que usem o sistema, com não mais que um servidor Interop por núcleo de CPU disponível. É uma boa prática ter quatro servidores Interop inicializados mesmo em baixos volumes de usuários. Isso significa que um servidor físico suficientemente grande pode ter várias instâncias Interop nele; em nosso teste, temos oito instâncias em um servidor.
Por instalar um thick client normal, você terá todo o código necessário no lugar e será conectado à instalação do servidor Rational DOORS.
Os servidores Interop podem ser iniciados com um atalho do desktop, o que segue é um código de exemplo para os dois campos que precisam ser preenchidos em qualquer atalho:
Target:
"C:\Program Files\IBM\Rational\DOORS\9.3\bin\doors.exe" -interop -brokerHost" Doors Web Access Broker Server" -maxMemory 640 |
Iniciar em:
"C:\Program Files\IBM\Rational\DOORS\9.3\bin" |
Os ajustes para assegurar que o doors.exe ative uma instância do servidor Interop e se conecte com êxito ao restante da arquitetura do Rational DOORS Web Access são manipulados na linha Target das propriedades de atalho.
- O comando -interop informa o doors.exe que é necessário inicializar no modo de servidor Interop.
- O comando -brokerhost designa o local do broker do Rational DOORS Web Access de modo que o servidor Interop possa selecionar solicitações.
- A instrução -maxMemory evita que o servidor Interop consuma memória. Sem adicionar –maxMemory, o servidor Interop tem o potencial de consumir toda a RAM disponível em seu servidor host. No exemplo acima, o servidor Interop está configurado para executar uma reinicialização sem perda quando atinge um tamanho de memória em cache de 640 megabytes.
Como Armazenar em Cluster o Servidor Rational DOORS Web Access
Importante:
- O único componente de software externo que precisa ser incluído no ambiente é uma instância do servidor da Web Apache
- A prova deste artigo foi executada na Versão 2.2.11 do servidor da Web Apache. A última versão do Apache Software Foundation disponível quando o artigo foi escrito (agosto de 2011) era a Versão 2.2.17, e não fizemos testes para determinar se a última versão invalida qualquer coisa neste artigo.
- Provamos o armazenamento em cluster da camada do servidor Rational DOORS Web Access usando a abordagem do Apache apenas. Há vários outros modos que você pode escolher para manipular seu balanceamento de carga, mas não podemos oferecer suporte ou conselho sobre tais.
Uma instalação em cluster típica se parecerá com a ilustração na Figura 2.
Figura 2. Ambiente em Cluster Conceitual
Mudanças do Servidor Rational DOORS Web Access
Para cada instância do servidor DOORS Web Access que você instalou, é necessário fazer ajustes para os arquivos FESTIVAL.XML e SERVER.XML. FESTIVAL.XML é o arquivo onde os ajustes da licença e do servidor DOORS são feitos depois da instalação. Se o caminho de instalação padrão for aceito durante a instalação, é possível localizar esse arquivo aqui:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server\festival \config\FESTIVAL.XML
As linhas 17, 19 e 21 desse arquivo contêm um endereço IP do host local que permite que o servidor Rational DOORS Web Access localize o broker do DOORS Web Access. Esse precisa ser alterado para o endereço IP do servidor que hospeda o broker.
Quando os servidores Web Access podem localizar o local do broker, é necessário configurá-los para aceitar solicitações do servidor da Web Apache. Se o caminho de instalação padrão foi aceito durante a instalação, você encontrará o arquivo SERVER.XML aqui:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server\conf\SERVER.XML
A linha 144 desse arquivo contém uma entrada Engine name:<Engine name="Catalina" defaultHost="localhost">
Isso precisa ser alterado para cada instalação de servidor Rational DOORS Web Access separada para (as duas referências que seguem referem-se às linhas BalanceMember no exemplo na próxima seção):
- Para Doors Web Access Server One (onde esse é o nome do seu servidor), ela se torna:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="DWAbalance1">
- Para Doors Web Access Server Two, ela se torna:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="DWAbalance2">
Onde a designação jvmRoute é exclusiva para cada instância do servidor Rational DOORS Web Access, isso corresponderá a uma atribuição de roteamento no servidor da Web Apache para permitir que a sessão persistente funcione corretamente.
Esses nomes de rota exclusivos são designados no Apache (consulte a seção que segue ), e o IP do endereço e o nome da rota devem ser os mesmos.
Dica:
Sugerimos enfaticamente que você faça essa alteração em um editor que mostre a formatação HTML e XML, porque há outras linhas no código imediato que se parecem com essa, mas são, na verdade, comentários.
Configuração do Servidor Apache
De uma instalação baunilha simples do Apache 2.2.11, há apenas um arquivo que precisa ser editado para ativar a funcionalidade do balanceamento de carga.
O local de instalação do Apache 2.2, a pasta conf, contém um arquivo denominado HTTPD.CONF que deve estar aqui:
C:\java\Apache2.2\conf\httpd.conf
No arquivo HTTPD.CONF, é necessário remover as marcas hash das seguintes linhas do Apache para carregar os módulos necessários na inicialização:
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
- LoadModule status_module modules/mod_status.so
Depois de fazer isso, incluímos o seguinte código no final do arquivo para alinhar a configuração de roteamento nos servidores DOORS Web Access precocemente. Para fins de clareza deste exemplo, deixamos os endereços IP dos servidores onde a prova foi executada.
O servidor um tem um endereço IP do Doors Web Access Server One e configuramos o jvmRoute para ser o Doors Web Access balance1 (como mostrado na seção anterior).
O servidor dois tem um endereço IP do Doors Web Access Server Two, e configuramos o jvmRoute para ser o Rational DOORS Web Access balance2 (como mostrado na seção anterior).
O load factor é a instrução de porcentagem para o identificador de sequência. Assim, neste exemplo simples, cada servidor recebe 50% das solicitações (o tamanho da solicitação não é uma consideração, assim isso não pode se equiparar a 50% da carga):
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On ProxyPassReverse / http://DOORS Web Access Server One:8080/ ProxyPassReverse / http://DOORS Web Access Server Two:8080/ <Proxy balancer://mycluster> BalancerMember http://DOORS Web Access Server One:8080 route=DWAbalance1 loadfactor=50 BalancerMember http://DOORS Web Access Server Two:8080 route=DWAbalance2 loadfactor=50 </Proxy> |
Para observar o comportamento da sua configuração, coloque o seguinte segmento de código debaixo da instrução ServerRoot:
<Location /balancer-manager> SetHandler balancer-manager </Location> |
Agora, no seu navegador, no servidor em que você instalou o servidor da Web Apache, ative http://localhost/balancer-manger. Essa página da Web permitirá que você monitore o balanceamento de carga em tempo real.
Depois de ter feito todas essas alterações, inicie o broker do Rational DOORS Web Access seguido pelos servidores Rational DOORS Web Access e, em seguida, inicie o servidor da Web Apache. Durante a inicialização em qualquer configuração, há uma dependência que requer que o broker do DOORS Web Access seja iniciado antes dos servidores DOORS Web Access.
No cliente do navegador, enderece o Rational DOORS Web Access para este local:
http://ApacheServerLocation/Doors Web Access
Há quatro camadas na arquitetura do Rational DOORS Web Access. Nesta seção, examinamos as consequências da reinicialização de qualquer uma delas.
- Doorsd
- Uma reinicialização do servidor Rational DOORS deve ser considerada como uma reinicialização completa do sistema e exigirá que os servidores Interop sejam reinicializados.
- Servidor Interop
- Os servidores Interop realmente reinicializam como parte do processo de gerenciamento de memória, de modo que possam ser parados e inicializados de acordo com sua vontade. Se isso for executado pelo aplicativo, ocorre sem perdas. Uma reinicialização forçada pode causar a perda de uma solicitação única.
- Broker do Rational DOORS Web Access
- O broker do DOORS Web Access é um elemento passivo da arquitetura e é stateless. No entanto, há um problema na conexão ao servidor DOORS Web Access. Atualmente, se o broker do Web Access for reiniciado, o servidor não será capaz de restabelecer a conexão e terá de ser reinicializado. Há uma solicitação de aprimoramento pendente para corrigir isso.
- Servidor Rational DOORS Web Access
- O servidor pode ser parado e iniciado sem perda de conectividade a qualquer componente, embora qualquer solicitação que um componente esteja atendendo seja perdida no momento da reinicialização.
Este artigo inclui todas as etapas necessárias para instalar e ajustar a escala do Rational DOORS Web Access para satisfazer os requisitos esperados da instalação, independente do tamanho. Isso também dá ao administrador uma compreensão clara das consequências se qualquer um desses componentes de arquitetura precisar ser reiniciado.
Aprender
- Navegue na página Rational DOORS página do developerWorks , para obter links para artigos técnicos e muitos recursos relacionados, e explore as instruções noCentro de Informações.
- Visite a área do software Rational no developerWorks para visualizar os recursos técnicos e as melhores práticas dos produtos da Rational Software Delivery Platform.
- Fique por dentro dos eventos técnicos e webcasts do developerWorks com foco em uma variedade de produtos IBM e tópicos do segmento de mercado de TI.
- Participe de um briefing gratuito do developerWorks para se atualizar rapidamente sobre produtos e ferramentas IBM, bem como tendências do segmento de mercado de TI.
- Acompanhe Demos on demand do developerWorks, variando de demos de instalação e configuração de produtos para iniciantes a funcionalidades avançadas para desenvolvedores experientes.
- Melhore suas qualificações. Consulte o catálogo Treinamento e certificação do Rational que inclui muitos tipos de cursos em uma ampla variedade de tópicos.
É possível realizar alguns deles em qualquer local, a qualquer momento, e muitos dos cursos para iniciantes são gratuitos.
Obter produtos e tecnologias
- Obtenha o download da versão de testes gratuita do Rational DOORS Web Access.
- Avalie o software IBM da forma que melhor lhe convier: faça o download da versão de avaliação, experimente-o on-line, use-o em um ambiente de nuvem ou passe algumas horas no SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de forma eficiente.
Discutir
Participe do fórum do Rational DOORS para fazer perguntas e participar de discussões.
- Classifique ou revise o software Rational. É rápido e fácil. Realmente.
- Compartilhe seu conhecimento e ajude outros a usar o software Rational, escrevendo um artigo para o developerWorks. Você terá um público mundial, organização RSS, reconhecimento de autoria e uma biografia, e o benefício da edição e produção profissional no Web site do Rational no developerWorks.Descubra quais são as características de um bom artigo do developerWorks e como realizá-lo.
- Siga o software Rational no Facebook e no Twitter (@ibmrational), e inclua seus comentários e solicitações.
- Faça e responda perguntas, e aumente seus conhecimentos participando dos Fóruns do Rational, cafése a wikis.
- Entre em contato com outros que compartilham seus interesses fazendo parte da comunidade do developerWorks , e respondendo aos blogs de desenvolvedores.
