18.03.2015 Views

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>XI</strong> <strong>Workshop</strong> <strong>de</strong> <strong>Testes</strong> e Tolerância a <strong>Falhas</strong> 161<br />

Figura 4. Resultado dos testes em re<strong>de</strong>.<br />

5.3. Conjunto <strong>de</strong> <strong>Testes</strong> - Manutenção do Estado e Consistência<br />

Para o teste <strong>de</strong> manutenção <strong>de</strong> estado, a análise foi feita fazendo a réplica primária falhar<br />

continuamente e aplicando a operação <strong>de</strong> listar o número <strong>de</strong> itens no novo primário eleito.<br />

Para o teste <strong>de</strong> consistência, a listagem <strong>de</strong> elementos foi invocada em cada novo primário<br />

e armazenada para posterior comparação.<br />

O teste <strong>de</strong> manutenção <strong>de</strong> estado funcionou <strong>de</strong>ntro do esperado, <strong>de</strong> forma que cada<br />

réplica apresentou 3000 itens em seus vetores após a falha do servidor primário.<br />

O teste <strong>de</strong> consistência também foi bem sucedido. Para comparar os estados, após<br />

as invocações, a operação <strong>de</strong> listagem <strong>de</strong> conteúdo foi invocada em cada réplica e seus<br />

resultados armazenados para que pu<strong>de</strong>ssem ser comparados através da API Java.<br />

Os testes <strong>de</strong>monstraram que o maior overhead da replicação foi a comunicação em<br />

grupo. A pilha <strong>de</strong> protocolo utilizada nos testes foi a pilha padrão do JGroups, <strong>de</strong> forma<br />

que é necessário estudá-la melhor e customizá-la a fim <strong>de</strong> apresentar um <strong>de</strong>sempenho<br />

mais satisfatório.<br />

Como todas as modificações foram feitas na arquitetura Axis2, nenhuma mudança<br />

foi necessária diretamente no serviço web, <strong>de</strong> forma que, nesse aspecto, este trabalho<br />

garante que serviços web autônomos e heterogêneos sejam replicados <strong>de</strong> uma maneira<br />

transparente.<br />

6. Conclusão e Trabalhos Futuros<br />

Este trabalho propôs analisar a maneira pela qual os métodos <strong>de</strong> replicação são adotados<br />

em conjunto aos serviços web. Os protótipos implementados <strong>de</strong>monstraram que a<br />

replicação em serviços é praticável, inclusive no que se refere à manutenção e consistência<br />

<strong>de</strong> estado entre as réplicas. A principal fonte <strong>de</strong> latência encontrada foi a comunicação em<br />

grupo, <strong>de</strong>monstrando que a primitiva multicast e o controle <strong>de</strong> membros <strong>de</strong> grupo po<strong>de</strong>m<br />

ser bastante dispendiosos.<br />

Dentre os trabalhos futuros, <strong>de</strong>staca-se uma melhor análise da pilha <strong>de</strong> protocolos<br />

do JGroups para obter um melhor <strong>de</strong>sempenho, além <strong>de</strong> analisar a escalabilida<strong>de</strong> da<br />

solução proposta. Outrossim é a implementação <strong>de</strong> outros protocolos <strong>de</strong> replicação, tais<br />

como replicação semi-passiva e ativa.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!