Änderungen von Dokument NATS - Technisches Setup

Zuletzt geändert von Daniel Herrmann am 2025/12/14 16:20

Von Version Icon 7.1 Icon
bearbeitet von Daniel Herrmann
am 2025/09/09 21:08
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version Icon 9.1 Icon
bearbeitet von Daniel Herrmann
am 2025/09/10 09:08
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Icon Seiteneigenschaften
Inhalt
... ... @@ -233,6 +233,16 @@
233 233  (% class="nc" %){{code language="none"}}UserEvent{{/code}}
234 234  )))
235 235  
236 +Die Consumer können dann wie folgt angelegt werden:
237 +
238 +{{code language="json"}}
239 +$ nats consumer add backend_events <name> --pull --filter="<filter>" --defaults
240 +
241 +# Beispiel
242 +nats consumer add backend_events backend_briefing_offer_cancelled --pull --filter="mksp.backend.briefing.offer.cancelled" --defaults
243 +nats consumer add backend_events backend_key_assigned --pull --filter="mksp.backend.key.assigned" --defaults
244 +{{/code}}
245 +
236 236  = {{id name="NATSSetup-Troubleshooting"/}}Troubleshooting =
237 237  
238 238  Man kann über die NATS CLI mit dem Server interagieren.
... ... @@ -239,6 +239,8 @@
239 239  
240 240  == {{id name="NATSSetup-JetStream"/}}JetStream ==
241 241  
252 +=== {{id name="NATSSetup-Streams"/}}Streams ===
253 +
242 242  Man kann sich die vorhandenen Streams und die Anzahl der Nachrichten anschauen. Die Anzahl sollte üblicherweise 0 sein, wenn die Zahl höher ist, werden Events nicht richtig abgearbeitet.
243 243  
244 244  {{code language="shell"}}
... ... @@ -263,6 +263,61 @@
263 263  {"timestamp":"2025-09-08T09:06:00.062358","stora
264 264  {{/code}}
265 265  
278 +=== {{id name="NATSSetup-Consumer"/}}Consumer ===
279 +
280 +Die bestehenden Consumer kann man sich ebenfalls im Jetstream Context anzeigen lassen:
281 +
282 +{{code language="json"}}
283 +$ nats consumer ls backend_events                       
284 +╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
285 +│ Consumers │
286 +├──────────────────────────────────┬─────────────┬─────────────────────┬─────────────┬─────────────┬───────────────┤
287 +│ Name │ Description │ Created │ Ack Pending │ Unprocessed │ Last Delivery │
288 +├──────────────────────────────────┼─────────────┼─────────────────────┼─────────────┼─────────────┼───────────────┤
289 +│ backend_briefing_created │ │ 2025-09-10 08:30:12 │ 0 │ 12 │ never │
290 +│ backend_briefing_offer_cancelled │ │ 2025-09-10 08:21:02 │ 0 │ 0 │ never │
291 +│ backend_briefing_offer_created │ │ 2025-09-10 08:28:25 │ 0 │ 0 │ never │
292 +│ backend_briefing_offer_updated │ │ 2025-09-10 08:29:19 │ 0 │ 0 │ never │
293 +│ backend_key_assigned │ │ 2025-09-10 08:21:04 │ 0 │ 0 │ never │
294 +╰──────────────────────────────────┴─────────────┴─────────────────────┴─────────────┴─────────────┴───────────────╯
295 +{{/code}}
296 +
297 +In dieser Tabelle sieht man bereits die "unprocessed" Nachrichten. Ist diese Zahl größer als 0 s sieht also gut, wenn n8n die Nachrichten nicht korrekt verarbeitet. Man kann sich ebenfalls die Details eines Consumers anzeigen lassen:
298 +
299 +{{code language="json"}}
300 +$ nats consumer info backend_events backend_briefing_offer_cancelled
301 +
302 +Information for Consumer backend_events > backend_briefing_offer_cancelled created 2025-09-09 22:53:26
303 +
304 +Configuration:
305 +
306 + Name: backend_briefing_offer_cancelled
307 + Pull Mode: true
308 + Filter Subject: mksp.backend.briefing.offer.cancelled
309 + Deliver Policy: All
310 + Ack Policy: Explicit
311 + Ack Wait: 30.00s
312 + Replay Policy: Instant
313 + Max Ack Pending: 1,000
314 + Max Waiting Pulls: 512
315 +
316 +State:
317 +
318 + Host Version: 2.11.8
319 + Required API Level: 0 hosted at level 1
320 + Last Delivered Message: Consumer sequence: 0 Stream sequence: 10
321 + Acknowledgment Floor: Consumer sequence: 0 Stream sequence: 0
322 + Outstanding Acks: 0 out of maximum 1,000
323 + Redelivered Messages: 0
324 + Unprocessed Messages: 0
325 + Waiting Pulls: 1 of maximum 512
326 +{{/code}}
327 +
328 +Insbesondere die letzten beiden Zeilen sind wichtig:
329 +
330 +* **Unprocessed Messages** sind Nachrichten, die noch nicht abgerufen wurden. Dies sollte immer 0 sein
331 +* **Waiting Pulls**: die Anzahl der verbundenen Clients. Üblicherweise sollte das nur n8n sein, also immer 1.
332 +
266 266  == {{id name="NATSSetup-Server"/}}Server ==
267 267  
268 268  Man kann sich ebenfalls die aktiven Verbindungen anzeigen:
Icon Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -207814676
1 +207814660
URL
... ... @@ -1,1 +1,1 @@
1 -https://wiki.makerspace-darmstadt.de/spaces/PROJ/pages/207814676/NATS Setup
1 +https://wiki.makerspace-darmstadt.de/spaces/PROJ/pages/207814660/NATS Setup