ClientProxy

NestJS 🔴 Senior

Definition

Abstraction pour communiquer avec d'autres microservices via send() (request-reply) ou emit() (event-based). Injectee via ClientsModule.

Analogie

Comme un telephone interne d'entreprise : tu appelles un autre service et attends (send) ou laisses un message (emit).

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 facon decouple.

#architecture