I'd like to see an example of users being registered and using jwts from the web browser. Like a chat room maybe. Similar to your tutorial on the sketch board but with authentication.
This is great, the logging example got me thinking about a better way to handle logs in our system and I passed a Jetstream as io.Writer to the slog and it worked awesome!
awesome series! I am a new of nats。As a student from China,nats is my first messages system I come across。I feel fortunate to be able to learn and use this technology.
Thank you for another awesome video. Do you have any recommendations on how to handle input validation if one is to use nats as the API-gateway? Do you colocate validation and further processing in a micro service or would you first validate the input, then publish another message wit the validated input?
So that's definitely one way to do it. You can also have a service that can forward a message and it's reply subject to execute some form of validation. When the validation service successfully validates the request, it can send a new message to the destination service, and set the REPLY subject to the original reply subject of the request. That way the requestor doesn't need to have knowledge of the validation service and the request/reply functionality works as it always has
I don't understand this. I thought it was a message broker running in-memory. Where did the services part come in? Does nats have some 'nats functions' that run inside of nats core? Or can we use everything you said with nats js? I'm using nest js currently for my monorepo. I'm curious to know if i can integrate everything you described here.
NATS is fully open source, not open core. Synadia cloud is a hosted version of NATS with some extra tooling around monitoring and management. So no strings attached here
The part "Deployment with NEX" is definitely super interesting, especially with canary release. I would love to see how much work is required to achieve that :D
NEX is still in prerelease and in active development. I've played with it though and the general concept is pretty easy to get up and running. Simply run a node, have it connect to a NATS server and now you can start deploying apps to it via the CLI. When it's a bit more mature I'll start covering it in more videos
I am usiig nats more and more and replace kafka with it. But one feature i am missing. The transactional write and avoid the consumers read uncommited messages what kafka have. this can significantly improve the performacne, The akternative is push events sync one by one.
Could you elaborate on implementing an API Gateway using exclusively a NATS cluster, including how authentication and authorization are handled? Additionally, how would you recommend setting up the NATS cluster to interact securely as an isolated cluster with a separate microservices cluster?
Great presentation. I love NATS, we use it as event broker in of our architectures. one question is this microservices framework implemented in the C# NATS client?
33:59 a session about subject mapping coul be very cool- Espacially how can I do deterministic partitioning programatically with jeststream configuration ?
I'd like to see an example of users being registered and using jwts from the web browser. Like a chat room maybe. Similar to your tutorial on the sketch board but with authentication.
Now that we have something like docs.nats.io/running-a-nats-service/configuration/securing_nats/auth_callout I can see that being a really great video
This is absolutely fantastic. I am looking forward to the next episodes. ❤
More to come! Thanks for watching as always @wayne
This is great, the logging example got me thinking about a better way to handle logs in our system and I passed a Jetstream as io.Writer to the slog and it worked awesome!
Gotta love the beauty of the io.Writer interface
true. Piping like Unix style@@dandogamer
You aren't the first! We've had a couple Synadians write a slog interface for NATS :)
awesome series! I am a new of nats。As a student from China,nats is my first messages system I come across。I feel fortunate to be able to learn and use this technology.
Looking forward to your continued updates
We will keep posting more content
Great video! Thanks for teaching with this video series!
Glad it was helpful!
looking forward to NEX !!!! Seems to be part of the Derek masterplan :)
First we rethink connectivity, then data, and workloads are the last bit of the triad :)
Another great overview. Thanks!
Thank you for another awesome video. Do you have any recommendations on how to handle input validation if one is to use nats as the API-gateway? Do you colocate validation and further processing in a micro service or would you first validate the input, then publish another message wit the validated input?
So that's definitely one way to do it. You can also have a service that can forward a message and it's reply subject to execute some form of validation.
When the validation service successfully validates the request, it can send a new message to the destination service, and set the REPLY subject to the original reply subject of the request. That way the requestor doesn't need to have knowledge of the validation service and the request/reply functionality works as it always has
I don't understand this. I thought it was a message broker running in-memory. Where did the services part come in? Does nats have some 'nats functions' that run inside of nats core? Or can we use everything you said with nats js?
I'm using nest js currently for my monorepo. I'm curious to know if i can integrate everything you described here.
Thank you for this amazing content!
What presentation tool do you use?
I use Excalidraw for all the drawings
is it fully opensource or has strings attched to Synadia cloud? those that only works with Synadia?
NATS is fully open source, not open core. Synadia cloud is a hosted version of NATS with some extra tooling around monitoring and management. So no strings attached here
The part "Deployment with NEX" is definitely super interesting, especially with canary release. I would love to see how much work is required to achieve that :D
Great overview by the way, much appreciated.
NEX is still in prerelease and in active development. I've played with it though and the general concept is pretty easy to get up and running. Simply run a node, have it connect to a NATS server and now you can start deploying apps to it via the CLI.
When it's a bit more mature I'll start covering it in more videos
I am usiig nats more and more and replace kafka with it. But one feature i am missing. The transactional write and avoid the consumers read uncommited messages what kafka have. this can significantly improve the performacne, The akternative is push events sync one by one.
I think they have that feature with Jetstream
Yeah this is something we are considering
@@hendrikmartina3552 Nope. They have not
@@SynadiaCommunications Is that scheduled for a release or only in draft ?
Is the code you demoed in this episode available online? I'd love to browse through the code for ideas. 😁
I got you! github.com/synadia-io/rethink_connectivity/tree/main/17-microservices-architectures
Thanks for that. I love it.
It's pretty cool stuff. Now if we can convince everyone to ditch their complicated setups....
Could you elaborate on implementing an API Gateway using exclusively a NATS cluster, including how authentication and authorization are handled? Additionally, how would you recommend setting up the NATS cluster to interact securely as an isolated cluster with a separate microservices cluster?
Authn and authz are definitely their own video topics that I’ll cover more in the future.
For your second question. Look at NATS leaf nodes
Great presentation. I love NATS, we use it as event broker in of our architectures. one question is this microservices framework implemented in the C# NATS client?
It sure is!: github.com/nats-io/nats.net/tree/main/src/NATS.Client/Service
Nice one, Jeremy!
Thanks!
33:59 a session about subject mapping coul be very cool- Espacially how can I do deterministic partitioning programatically with jeststream configuration ?
Already planning on doing a full subject mapping video soon. Including all the new goodies in jetstream and subject mapping
@@SynadiaCommunications I really appreciate it
i didn't get a clear understanding of how request to such microservice would work on NATS. What's the request-response logic?
It was helpful
Thanks for watching!
When IPO? 😅
too good to be true tbh
pwning the backend... ;)
You know it!
How reliable is NATS? looks like a single point of failure
If setup correctly, it's not. If you're talking about bugs, well, make sure to use the latest version .