ClientProxy
NestJS 🔴 SeniorDéfinition
Abstraction pour communiquer avec d'autres microservices via send() (request-reply) ou émit() (event-based). Injectée via ClientsModule. Pour les cas avances, unwrap() donne un accès direct a l'instance du driver sous-jacent (par exemple kafkajs.Producer ou ioredis) quand l'API standard de NestJS ne suffit pas.
Analogie
Comme un téléphone interne d'entreprise : tu appelles un autre service et attends (send) ou laisses un message (émit).
Exemple de code
@Injectable()
export class OrderService {
constructor(@Inject('PAYMENT_SERVICE') private client: ClientProxy) {}
processPayment(order: Order) {
return this.client.send('process_payment', order);
}
notifyShipping(order: Order) {
this.client.emit('order_shipped', order);
}
}
Cas d'usage
Appeler des microservices distants depuis un service NestJS de façon découplé.
Termes liés
Fiche mise à jour le 2026-09-27