Skip to content
Latchkey

gRPC vs Apache Thrift: Qual framework de RPC?

O gRPC é um framework de RPC moderno sobre HTTP/2 que usa Protocol Buffers; o Apache Thrift é um sistema de RPC multilíngue consagrado com transports plugáveis.

O gRPC se apoia em HTTP/2 e Protobuf, oferecendo streaming bidirecional, deadlines, interceptors e um ecossistema em rápido crescimento (gRPC-Web, integração com service mesh). O Thrift, do Facebook/Apache, suporta muitas linguagens e transports e protocolos plugáveis, com uma história mais longa, porém um ecossistema moderno mais discreto. O gRPC ganha em streaming, HTTP/2 e momentum; o Thrift ganha em flexibilidade de transport e alcance legado.

gRPCThrift
TransportHTTP/2Plugável
IDL/serializaçãoProtobufThrift IDL
StreamingFirst-classLimitado
MomentumAltoMaduro, mais lento
Melhor paraMicrosserviços modernosRPC legado poliglota

Caso de uso e ecossistema

O gRPC é adequado para microsserviços modernos que precisam de streaming, HTTP/2 e amplo ferramental, incluindo service meshes. O Thrift é adequado para ambientes poliglotas ou sistemas existentes já construídos sobre ele, com combinações flexíveis de transport/protocolo.

Adequação a ops e CI

Ambos geram stubs de cliente/servidor a partir de uma IDL durante o build. Codegen e testes de contrato rodam em CI, onde runners gerenciados mais rápidos encurtam a geração de stubs multilíngue e os testes de integração entre serviços.

O veredito

Quer RPC moderno sobre HTTP/2 com streaming e forte momentum: gRPC. Quer transports flexíveis ou interoperabilidade com um sistema Thrift existente: Thrift. A maioria dos novos serviços escolhe o gRPC; o Thrift persiste em stacks poliglotas estabelecidas.

Guias relacionados