Incredible, NATS seems a powerful tool. Looking forward to implement in some project. Thanks for the concise and clean explained demo Jeremy! Best regards.
Seems like heaven after kafka (i'm new to messaging and streaming systems at all, just learning new things and comparing them) because everything makes sense against all this java's and spring's mess. And actually guys here is the tip for you: when you're showing code, put it into so called safe area(from television), because sometimes its needed to pause the video to read the code that is in the bottom of the screen but there is youtube ui appears on top of it
Hi thanks for the tutorial, when I try to add stream I get "nats: error: could not create Stream: context deadline exceeded". I get the same error when I try to list streams as well.
A push consumer delivers messages over a dedicated `DeliverSubject` and optional `DeliverGroup` as you note. The reason this is required is because the server effectively pushes messages proactively for clients that are actively subscribed to that DeliverSubject. In contrast, a pull consumer relies on clients to fetch messages on-demand at their own pace. This means that you can add any number of clients, each of which concurrently fetch messages via the pull consumer. There is no need to distinguish a single one vs a group for a pull consumer. Given this has been a source of confusion, a new JetStream client API has been designed and rolled out to nearly all official clients which _only_ uses pull consumers under the hood, while still be able to achieve the various client consumption patterns. You can read more about it here: nats.io/blog/preview-release-new-jetstream-client-api/ and see examples of how to migrate: natsbyexample.com/examples/jetstream/api-migration/go
is nats a server between server and clients? can it be replacement for rest api or would be better used in between servers lets say i'm building a chat app or game
You can absolutely use NATS to serve frontend clients. Your auth model may be a bit different, but check out our whiteboard video for an example of how NATS can serve the web via websockets
So I don't get streams and subjects. Naming them. Let's assume a Reddit clone or HN clone. You have communities, topics and comments. Do you name the stream RedditClone and the streams community.*,topic.*,comment.*?
Trying to follow along, all was good until I ran `nats sub --stream orders --all` and I got the error `nats: error: unknown long flag '--stream', try --help`. I had stepped away for several hours after starting the server. While the server was still running in a different iTerm window on my Mac I thought it might(?) have timed out so I decided to kill it with ^C and restart with `nats server run --jetstream.` However, then I got `nats: error: context nats_development already exist, choose a new instance name or remove it with 'nats context rm nats_development', try --help`. So I tried to follow the instructions and delete with `nats context rm nats_development` and then I get `nats: error: cannot remove the current active context, try --help`. 😨 Now I am totally lost. I'm sure I could figure it out if I had the time, but I was just exploring this new tech and don't have the time budgeted to work on this instead of my day-job work. How about a troubleshooting video next? BTW, I am running with CLI version `0.0.33.`
Same problem. But as far as I can see, stream flag was added to the git repository on July 1. And the last release was May 27th. Therefore, the author is using a pre-release version whose commands are not supported by the latest version of nats.
@@SynadiaCommunications Aeron does more than NATs, millions of message per mili second and has 247 tolerant solution. Used widely in fintech space. Anyways still evaluating nats and Aeron
Incredible, NATS seems a powerful tool. Looking forward to implement in some project. Thanks for the concise and clean explained demo Jeremy! Best regards.
Great demo! Looking forward to new episods!
Glad you enjoyed it! More to come.
Seems like heaven after kafka (i'm new to messaging and streaming systems at all, just learning new things and comparing them) because everything makes sense against all this java's and spring's mess. And actually guys here is the tip for you: when you're showing code, put it into so called safe area(from television), because sometimes its needed to pause the video to read the code that is in the bottom of the screen but there is youtube ui appears on top of it
Where has this been all my life!
i'm so glad i found NATS it completely changed how I create my microservices architecture!
Awesome and wonderful content and explanation. Thanks a lot
Glad you liked it
Great video
Well that's great content. I could understand why and how we are using it.
Thanks for watching! Let us know if you have any content you’d like to see in the future
I am confused, whats the difference between NATs and NATS streaming? are they two different product?
AMAZING CONTENT, the background voice is so cute :))
Thank you so much 😁
What version of nats CLI are you using? v0.0.33 lacks --rurable flag for example.
Hi thanks for the tutorial, when I try to add stream I get "nats: error: could not create Stream: context deadline exceeded". I get the same error when I try to list streams as well.
Is it possible to apply queue groups on pull consumers?
A push consumer delivers messages over a dedicated `DeliverSubject` and optional `DeliverGroup` as you note. The reason this is required is because the server effectively pushes messages proactively for clients that are actively subscribed to that DeliverSubject.
In contrast, a pull consumer relies on clients to fetch messages on-demand at their own pace. This means that you can add any number of clients, each of which concurrently fetch messages via the pull consumer. There is no need to distinguish a single one vs a group for a pull consumer.
Given this has been a source of confusion, a new JetStream client API has been designed and rolled out to nearly all official clients which _only_ uses pull consumers under the hood, while still be able to achieve the various client consumption patterns. You can read more about it here: nats.io/blog/preview-release-new-jetstream-client-api/ and see examples of how to migrate: natsbyexample.com/examples/jetstream/api-migration/go
that's incredible!
is nats a server between server and clients? can it be replacement for rest api or would be better used in between servers
lets say i'm building a chat app or game
You can absolutely use NATS to serve frontend clients. Your auth model may be a bit different, but check out our whiteboard video for an example of how NATS can serve the web via websockets
long time no see martini guy
Just have a couple of seconds before you press enter for each command. You write the command fast and we barely notice what you wrote.
I can't deal with the dots that are required to segment a topic name. Is simply incompatible with my naming schemes.
So ez and awesome
I like EZ and AWESOME
Wow 😍
WOW!
So I don't get streams and subjects. Naming them.
Let's assume a Reddit clone or HN clone.
You have communities, topics and comments.
Do you name the stream RedditClone and the streams community.*,topic.*,comment.*?
Trying to follow along, all was good until I ran `nats sub --stream orders --all` and I got the error `nats: error: unknown long flag '--stream', try --help`.
I had stepped away for several hours after starting the server. While the server was still running in a different iTerm window on my Mac I thought it might(?) have timed out so I decided to kill it with ^C and restart with `nats server run --jetstream.`
However, then I got `nats: error: context nats_development already exist, choose a new instance name or remove it with 'nats context rm nats_development', try --help`.
So I tried to follow the instructions and delete with `nats context rm nats_development` and then I get `nats: error: cannot remove the current active context, try --help`. 😨
Now I am totally lost. I'm sure I could figure it out if I had the time, but I was just exploring this new tech and don't have the time budgeted to work on this instead of my day-job work.
How about a troubleshooting video next?
BTW, I am running with CLI version `0.0.33.`
Same problem. But as far as I can see, stream flag was added to the git repository on July 1. And the last release was May 27th. Therefore, the author is using a pre-release version whose commands are not supported by the latest version of nats.
Can you make a comparison against Aeron cluster please ?
Not as familiar with Aeron but we will continue to show off more of the power and performance of NATS
@@SynadiaCommunications Aeron does more than NATs, millions of message per mili second and has 247 tolerant solution. Used widely in fintech space. Anyways still evaluating nats and Aeron