Parenteser

Betraktninger fra Mat-teamets grønne enger

Nyttig å vite om NATS

NATS er et distribuert meldingssystem med mange bruksmønstre: fra pubsub, arbeidskøer og strømming av persistente logger til key/value og object storage. Alt fra den samme primitiven, emnebasert meldingsutveksling.

NATS er skrevet i Go og distribueres dermed som en rask frittstående binærfil. Den har en implementasjon av Raft konsensusalgoritmen for distribuert persistens med replikering.

PubSub med NATS

NATS er et meldingssystem med mange bruksmønstre: fra pubsub, arbeidskøer og strømming av persistente logger til key/value og object storage. Alt fra den samme primitiven – emnebasert meldingsutveksling – som vi i dag ser litt nærmere på via PubSub med NATS.

NATS JetStream: Persistente køer og logger

JetStream er en bryter som gir NATS persistens. Det åpner opp for en haug med spennende bruksmønstre, så som distribuert arbeidskø (tenk RabbitMQ med flere) og strømming av persistente logger (tenk Kafka). Vi ser på hvordan det funker.

NATS key/value store

At et meldingssystem også skal kunne fungere som en key/value-database ga ikke så mye mening for meg før jeg forstod hvordan det hang sammen. Så la oss plukke NATS sin key/value store fra hverandre.

En samtale mellom NATS og Clojure

Det finnes foreløpig ikke noe offisielt NATS-bibliotek for Clojure, så hvordan i huleste får vi parentes-frelste emnebasert meldingsutveksling inn i systemene våre?