I'm using this in production. So far it's worked very well. Took a few hours to setup with certificates. Now it just works.
High-Performance server for NATS.io, the cloud and edge native messaging system
11–20 of 75 posts
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#12With all the message queue whatever thingies, as an outside I’m quite confused about ideal use cases. NATS vs MQTT vs Kafka vs Redis Queue vs Amazon SQS - how do they all stack up?
NATS is not a queue. It's distributed pub/sub message broker for communicating between applications. NATS's only responsibility is to route messages in near-real-time from publishers to consumers. Messages are ephemeral and dropped immediately after delivery; if nobody is listening, the messages vanish. Messages are only queued temporarily in RAM if the consumer is busy, and they can get dropped if a consumer doesn't…
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#13I'm using this in production. So far it's worked very well. Took a few hours to setup with certificates. Now it just works.
What do you run it on?
It's just a dumb communications buss for us. It's replaced most of our ETL needs with Realtime events. If an order is placed online an event is raised. Our accounting system can consume that event to create the sales order. Then the production system consume the same event to add the job to the next production batch. Each production step produces events that can be used to update other systems, including Realtime updates on the ecommerce system.
We use Jetstream so consumers don't need to be awake when producers create events.
This system spans the cloud and 3 physical locations. But, to the consumers and producers it's one buss that they only have to authenticate with once.
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#14Earlier quoted context omitted.
NATS is not a queue. It's distributed pub/sub message broker for communicating between applications. NATS's only responsibility is to route messages in near-real-time from publishers to consumers. Messages are ephemeral and dropped immediately after delivery; if nobody is listening, the messages vanish. Messages are only queued temporarily in RAM if the consumer is busy, and they can get dropped if a consumer doesn't…
It is worth noting that the jetstream API (to me) (not that experienced) to lack some of the features of Kafka w.r.t. replayability - for instance I can’t easily say “go back and re-run messages from X point-in-time”. Instead it may be necessary to write custom handlers for replay or safeguard your systems to be very idempotent (a good pattern in event driven systems, but not one that is explicitly required by Kafkae…
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#15I have been a huge advocate of NATS. For anyone looking to support multiple message patterns on one message bus, this is what you want to check out. In AWS terms, it’s like SNS/SQS/Kinesis all rolled into one bus & very intuitive to work with.
Any thoughts on NATS' JetStream? Looks quite compelling, to me. https://docs.nats.io/using-nats/developer/develop_jetstream
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#16Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#17Earlier quoted context omitted.
It is worth noting that the jetstream API (to me) (not that experienced) to lack some of the features of Kafka w.r.t. replayability - for instance I can’t easily say “go back and re-run messages from X point-in-time”. Instead it may be necessary to write custom handlers for replay or safeguard your systems to be very idempotent (a good pattern in event driven systems, but not one that is explicitly required by Kafkae…
Yes, I did not mean to suggest that Jetstream is equivalent to Kafka. It's quite different.
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#18Earlier quoted context omitted.
What do you run it on?
We have a manufacturing operation with a public B2B ecommerce platform. It's just a dumb communications buss for us. It's replaced most of our ETL needs with Realtime events. If an order is placed online an event is raised. Our accounting system can consume that event to create the sales order. Then the production system consume the same event to add the job to the next production batch. Each production step produces…
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#19Earlier quoted context omitted.
We have a manufacturing operation with a public B2B ecommerce platform. It's just a dumb communications buss for us. It's replaced most of our ETL needs with Realtime events. If an order is placed online an event is raised. Our accounting system can consume that event to create the sales order. Then the production system consume the same event to add the job to the next production batch. Each production step produces…
I was just wondering if it was cloud hosted k8s, baremetal k8s, or another cloud offering
Re: High-Performance server for NATS.io, the cloud and edge native messaging system
#20At a guess they are talking about applications being built from the ground up to dynamically allocate resources using cloud providers APIs directly rather than relying on an assumption fixed resources are already provisioned and the application runs within them.
I wonder if I'm right ...