Kafka Transporter

NestJS 🔴 Senior

Définition

Transporteur de microservices NestJS base sur kafkajs, configure via Transport.KAFKA. Il expose ClientKafkaProxy pour producteur/consommateur, gère automatiquement les topics de réponse (suffixe .reply) et, depuis NestJS v12, accepte des expressions régulières dans @MessagePattern/@EventPattern pour matcher plusieurs topics.

Analogie

Comme un central téléphonique qui route les appels (messages) vers le bon service selon le numéro compose (topic), avec la possibilité d'écoûter tout un groupe de numéros a la fois (regex).

Exemple de code

const app = await NestFactory.createMicroservice(AppModule, {
  transport: Transport.KAFKA,
  options: { client: { brokers: ['localhost:9092'] } },
});

@MessagePattern('orders.created')
handleOrder(@Payload() data: any, @Ctx() ctx: KafkaContext) {
  const { topic, partition } = ctx.getMessage();
}

Cas d'usage

Faire communiquer des microservices via un bus Kafka haute-throughput avec garanties de partitionnement.

Anti-pattern

Utiliser @MessagePattern (request-reply) pour de gros volumes d'evenements fire-and-forget au lieu de @EventPattern.
#architecture#interview

Dans l'actu

  • 15/09 NestJS stabilise sa v12 avec les patchs 12.0.2 et 12.0.3 (plus 11.2.4/11.2.5 pour la branche 11) : correctifs microservices Kafka (le hook de fin de traitement est toujours exécuté), destruction des sockets TCP ouvertes à l'arrêt, validation UUID améliorée, et mises à jour de multer 2.4.0 et file-type 22.1.0. Semaine 38 · 14 – 20 septembre 2026 →

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre