gRPC
NestJS 🔴 SeniorDefinition
Framework RPC haute performance utilisant Protocol Buffers et HTTP/2. NestJS supporte gRPC comme transport pour les microservices.
Analogie
Comme un langage signe standardise entre machines : ultra-rapide et compact, mais moins lisible pour les humains.
Exemple de code
@GrpcMethod('UserService', 'FindOne')
findOne(data: { id: number }): User {
return this.userService.findOne(data.id);
}
// .proto: service UserService {
// rpc FindOne (UserById) returns (User);
// }
Cas d'usage
Communiquer entre microservices avec des performances superieures a REST et un contrat strict.
Anti-pattern
Utiliser gRPC pour une API publique consommee par des navigateurs au lieu de REST/GraphQL.