/first-nestjs

https://youtu.be/nHhete6R6rE

Primary LanguageTypeScript

Ein Kafka Producer und Consumer mit NestJS

Ausprobieren in Visual Studio Code

git clone <project>
cd first-nestjs
code .

Open in Devcontainer ! Terminal-zweiteilen

Dann

  1. falls nicht sichtbar, ein Terminal (Menü Terminal/New Terminal) öffnen,

  2. die Docker Container starten

    docker compose up -d
  3. das Terminal teilen (zwei Terminals)

    Terminal-zweiteilen

  4. Bauen und ausprobieren Terminal-zweiteilen

    • linkes Terminal:

      npm install
      npm run start:dev
      #
      #> nest-typescript-starter@1.0.0 start
      #> nest start
      #
      #[Nest] 1892  - 08/01/2022, 10:31:45 AM     LOG [NestFactory] #Starting Nest application...
    • rechtes Terminal:

      curl localhost:3000 
      # Hello World!%                    
      curl localhost:3000/kafka-test
      # [{"topicName":"medium.rocks","partition":0,"errorCode":0,"baseOffset":"0","logAppendTime":"-1","logStartOffset":"-1"}]%
      # ...
      # [main.ts] Application is running on: http://[::1]:3000            

    Durch den zweiten curl Aufruf wird ein event erzeugt und gleich auch konsumiert, im linken Terminal erscheint:

    [app.controller.ts] kafka-test emitting now
    [consumer.controller.ts] Receiving a message from topic: medium.rocks{"foo":"bar","data":"Mon Aug 01 2022 10:32:16 GMT+0000 (Coordinated Universal Time)"}

Der Code

Zum NestJS Framework:

Aufbau des Projekts: