No SoftDrops do dia 04 de dezembro, o desenvolvedor Abel Lopes apresentou aos colegas o gRPC e suas vantagens. O gRPC é utilizado por grandes empresas como Square, Netflix, Digital Ocean e SoundCloud para melhorar a performance de seus microsserviços e dos serviços de streaming.
O gRPC é um framework open-source criado pelo Google que implementa Remote Procedure Call (RPC) – ou Chamada Remota de Procedimento – que é um protocolo para comunicação entre aplicações. Com a implementação do gRPC, um aplicativo cliente pode requisitar métodos diretamente em um aplicativo servidor de uma outra máquina, como se ela fosse um objeto local, facilitando a criação de aplicativos e serviços distribuídos.
Entre as características mais importantes do gRPC, é possível citar a capacidade que ele tem de entregar a responsabilidade das comunicações entre aplicações para o HTTP2. Ainda, o gRPC suporta o protocolo Protobuf (protocolo criado e utilizado pelo Google, que serializa dados estruturados).
Afinal, porque é interessante usar o HTTP2? Essa foi uma das questões importantes trazidas pelo desenvolvedor Abel e debatida com os colegas no SoftDrops.
A principal diferença estrutural está na comunicação: no HTTP2, ela é bidirecional e permite o que chamamos de multiplexing – que é percebido como melhor velocidade do retorno das requisições. No HTTP1.1, uma solicitação é processada por vez. Quando diversas solicitações são realizadas, é preciso aguardar a resposta uma a uma, o que gera lentidão no processo, como demonstra a figura abaixo.
Já num sistema bidirecional, como é o caso do HTTP2, as requisições e respostas são feitas de forma simultânea. Caso sejam realizadas duas solicitações, elas serão retornadas no mesmo instante, e não necessitam que uma termine para que a outra se inicie. Por isso, a velocidade do HTTP2 é superior ao protocolo HTTP1.1.
O gRPC se aplica em cenários que necessitam de:
Alguns dos benefícios da utilização do gRPC:
Linguagens em que o gRPC pode ser aplicado:
Gostou desse texto? Então confira outros conteúdos sobre SoftDrops aqui no blog.
3 de abril de 2024
1 de abril de 2024
26 de março de 2024