1.7 KiB
1.7 KiB
NATS JetStream
#kubernetes #messaging #słownik
Co to jest?
NATS to lekki, cloud-native system messaging. JetStream to warstwa persistence dodana do NATS, umożliwiająca durable pub/sub z replay, retention i consumer groups.
NATS vs JetStream
| NATS Core | NATS JetStream |
|---|---|
| Fire-and-forget | Durable (zapisane na dysk) |
| At-most-once | At-least-once delivery |
| Brak replay | Replay od dowolnego punktu |
| Brak consumer groups | Consumer groups + ack |
| Ultra-fast | Szybki (trochę wolniejszy) |
Porównanie z alternatywami
| System | Latency | Throughput | Complexity | Use case |
|---|---|---|---|---|
| NATS JetStream | ~1ms | ~100K msg/s | Niski | Cloud-native, K8s |
| Apache Kafka | ~5ms | ~1M msg/s | Wysoki | Big data, streaming |
| RabbitMQ | ~3ms | ~50K msg/s | Średni | Enterprise messaging |
| Redis Streams | ~1ms | ~200K msg/s | Niski | Caching + messaging |
Kluczowe koncepty JetStream
| Koncept | Opis |
|---|---|
| Stream | Named storage dla wiadomości (temat wildcard) |
| Consumer | Subskrybent z cursor/offset tracking |
| Durable Consumer | Consumer z persistence (survives restarts) |
| Ack | Potwierdzenie przetworzenia wiadomości |
| Retention | Limits (max age, max bytes) lub Interest-based |
Użycie w Sympozium
NATS JetStream jest centralnym event bus'em Sympozium:
- Stream:
sympoziumz subjectssympozium.> - Retention: 24h max age
- Deployment: StatefulSet w
sympozium-system - URL:
nats://nats.sympozium-system.svc:4222
Tematy: patrz NATS JetStream - Event Bus
Powiązane: NATS JetStream - Event Bus | Przepływ danych i IPC | StatefulSet