Going all in NATS/Jetstream for a kinda big company project, the more I learn about it, the more I love it. And your videos are making it even more envoyable, continue the good job!
Great videos, I have binging these lately. Good to see how nats has grown over the years. Can i suggest doing a video about implementing advanced messaging patterns such as workflow patterns like route slips and distributed transaction handling with compensations. It would be great to understand what the stream configuration will look like.
Really looking forward to the consuner video. Also i think nats is limiting in the observability of consumer state. For example, in a workqueue stream if i want to know what messages have been nacked, when they are scheduled to be derived next etc, there's no way do it. Basically there's limited visibility in to consumer state. So if you could talk about that, that'd be great.
I just found about NATS and your videos are helpful to understand the technology and get me started. I am working on a greenfield app using microservices architecture and writting an article/demo on NATS JetStream. I couldn't find anything on how to cover the following scenario: a stream for each microservice (for publishing) + a consumer for each microservice which aggregates messages from multiple streams based on subjects. The only possible way to maybe make it work appeared marked as legacy so I am not going to go forward with that. Would currently the recommended way be to use a single stream for everything + filter_subjects on consumers? I feel that this kind of kills the purpose of having multiple streams available for my scenario.
Please remember to include information about what happens with JetStream domains under semi-longterm disconnection and reconnection for file stored streams.
Not sure I'm understanding the problem you want to outline. Do you mean something like keeping mirrors or sources synced across JetStream domains with intermittent connectivity?
@@thecodegangstaYes. You can think of my problem (It isn't, but due to NDA, it's an analogy.) like a subway or train where several cars are different domains, and then there's a cluster in the cloud for a web site (another domain). The web site cluster only gets updated when the trains are at a station, but to move they must go offline. Again, this is just an analogy. Sometimes data is sent to a big data storage car, and then sometimes it's sent to the cloud cluster for the web site. Sometimes the cars are disconnected for a few minutes or hours, but the train can be between stations for hours or days.
@@jaysistar2711 Got it. Absolutely. I've worked with plenty of customers of ours doing just this. I'll cover this use case when I do a deep dive into Sources and Mirrors
Hello. This is indeed a really nice training video about Stream Management. I have one question, I was not able to solve reading the nats documentations. In a Super Cluster setup ( Lets say composed of 4 clusters, each deployed on a specific PaaS), I am able to set the Stream replicas over any of those clusers. In case, the Paas where leader was hosted (Paas1) goes down , a new leader is determined and I should expect no traffic outage. Where I am more worry, is when Paas1 comes back. Will Paas1 considers, it is still the stream leader? Or will somehow be informed of the new configuration? Thanks you
Hey guys i am trying to add stream for my application with using json. { "name": "updates-scheduled-stream", "subjects": [ "updates.scheduled.*" ], "max_msgs": 5, "max_bytes": -1, "storage": "file", "discard": "old", "rollup_enabled": true, "num_replicas": 1, "max_age": 3600000 } nats str add --config ./stream-create.json nats: error: could not create Stream: max age needs to be >= 100ms (10052) . can somebody help me here.