NATS Transporter
NestJS 🔴 SeniorDéfinition
Transporteur de microservices NestJS pour NATS, migre depuis NestJS v12 vers le driver @nats-io/transport-node (NATS v3). Il supporte les queue groups pour repartir la charge entre instances et les wildcards de sujets (par exemple time.us.*) pour matcher des patterns dynamiques.
Analogie
Comme une bande FM : plusieurs récepteurs (queue group) peuvent écoûter la même fréquence (sujet) et se partager les messages sans double réception.
Exemple de code
const app = await NestFactory.createMicroservice(AppModule, {
transport: Transport.NATS,
options: { servers: ['nats://localhost:4222'], queue: 'orders_queue' },
});
@MessagePattern('time.us.*')
handleTime(@Payload() data: any) { /* wildcard */ }
Cas d'usage
Repartir la charge entre plusieurs instances d'un même microservice via un queue group NATS.
Anti-pattern
Termes liés
En entretien
Explique-moi ce qu'est le transporteur NATS dans NestJS.
C'est un transporteur de microservices qui a migré depuis NestJS v12 vers le driver @nats-io/transport-node ; il supporte les queue groups pour répartir la charge entre instances et les wildcards de sujets pour matcher des patterns dynamiques. C'est comme une bande FM où plusieurs récepteurs peuvent écouter la même fréquence et se partager les messages.
À quoi sert un queue group concrètement ?
À répartir la charge entre plusieurs instances d'un même microservice qui écoutent le même sujet, sans que chaque instance reçoive le message en double.
Comment tu debuggerais des messages perdus lors d'un redéploiement ?
Je vérifierais d'abord si le gracefulShutdown/gracePeriod est bien configuré, parce que l'oublier coupe des messages en cours de traitement pendant le redéploiement.
Fiche mise à jour le 2026-09-27