Dissertação

{pt_PT=Comparação de desempenho em transações síncronas entre microserviços utilizando HTTP/3, HTTP/2 e HTTP/1.1 no âmbito de um domínio aplicacional comum} {} EVALUATED

{pt=A iminente ratificação da terceira versão do protocolo HTTP representa uma mudança substancial no paradigma atual, significando o fim da utilização exclusiva de TCP na camada de transporte, uma vez que HTTP/3 toma por base o protocolo QUIC, o qual utiliza UDP na camada de transporte para transmissão de pacotes de dados, implementando funcionalidades de controlo de tráfego e correção de erros no espaço do utilizador, ao contrário de TCP, que as implementa ao nível do kernel. Nesta investigação desenvolvemos e avaliamos uma aplicação em microserviço que nos permitiu experimentar diversos cenários que pudessem reproduzir de forma plausível ambientes de produção reais de implementação de redes 5G e microserviços, nos quais pudemos controlar e monitorizar o desempenho dos protocolos. Os dados recolhidos nas nossas experiências confirmam a adequação de HTTP/3 a redes com propensão a maiores taxas de erros e latência tais como redes sem fios e celulares, uma vez que o desempenho desta versão do protocolo foi marcadamente superior ao das versões anteriores, em linha com os resultados de investigações anteriormente publicadas. Por outro lado, não se observaram quaisquer ganhos no desempenho de HTTP/3 em cenários com taxas de erros e latência baixas ou nulas tais como microserviços alojados no mesmo servidor ou distribuídos e partilhando a mesma rede virtual, tendo-se de facto verificado um desempenho inferior em relação às versões anteriores nesses cenários, o que nos leva a concluir que o estado atual desta tecnologia não a torna adequada para estes casos. , en=The upcoming ratification of HTTP/3 represents a substantial change to the current paradigm, since it is a departure from using TCP as the transport layer solution. The new iteration of HTTP is based on QUIC, a protocol that marshals UDP in the transport layer for transmission of data packets, while implementing flow control and error recovery logic at the user space, contrary to the practice in TCP, where those features are implemented at the kernel level. QUIC also makes the use of TLS certificates mandatory and reduces the number of RTT required in the handshake process and has been used in production servers for some of Google’s services since 2016. In this research we developed and evaluated a microservice application which allowed us to experiment various scenarios that could plausibly emulate a real-life production environment for microservices or 5G network deployments on which we could control and monitor performance. The data obtained from our experiments indicates the suitability of HTTP/3 for networks prone to errors and latency, such as cellular, where this protocol fares noticeably better than the previous versions in all the evaluated scenarios, such results agree with the research findings of other authors. The data indicates as well that in scenarios of low latency and absence of error such as expected in virtual networks aggregating containers hosted in a common virtual machine HTTP/3 performance is not an advantage over previous versions, and we argue that it is not ready to be used in this context at this time. }
{pt=QUIC, HTTP/3, microserviços, 5G, SBA, en=QUIC, HTTP/3, microservices, 5G, SBA}

Dezembro 6, 2019, 18:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Bruno Miguel de Oliveira Sousa

Universidade de Coimbra

Professor Auxiliar Convidado

ORIENTADOR

José Henrique Pereira São Mamede

Universidade Aberta

Professor Auxiliar