Move over Kafka! Let's try NATS JetStream

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ต.ค. 2024
  • Learn the fundamentals of JetStream, a powerful and modern persistence layer built on top of NATS core.
    NATS is a connective technology powering modern distributed systems, unifying Cloud, On-Premise, Edge, and IoT.
    Join the NATS Community on Slack: slack.nats.io
    Learn More about NATS at docs.nats.io/
    #nats #natsio #synadia #distributedsystems #jetstream

ความคิดเห็น • 34

  • @filipeandrade6
    @filipeandrade6 2 ปีที่แล้ว +4

    Incredible, NATS seems a powerful tool. Looking forward to implement in some project. Thanks for the concise and clean explained demo Jeremy! Best regards.

  • @andreyg5875
    @andreyg5875 2 ปีที่แล้ว +3

    Great demo! Looking forward to new episods!

  • @jbkcrash
    @jbkcrash 2 ปีที่แล้ว +4

    Where has this been all my life!

  • @currentaspiration8755
    @currentaspiration8755 ปีที่แล้ว +1

    Awesome and wonderful content and explanation. Thanks a lot

  • @a0nmusic
    @a0nmusic 2 ปีที่แล้ว +3

    i'm so glad i found NATS it completely changed how I create my microservices architecture!

  • @mikhalpalych
    @mikhalpalych ปีที่แล้ว +2

    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

  • @nicklaspillay7923
    @nicklaspillay7923 3 หลายเดือนก่อน

    Great video

  • @neeleshbodgal7479
    @neeleshbodgal7479 ปีที่แล้ว +1

    Well that's great content. I could understand why and how we are using it.

    • @SynadiaCommunications
      @SynadiaCommunications  ปีที่แล้ว

      Thanks for watching! Let us know if you have any content you’d like to see in the future

  • @alirezakhorami
    @alirezakhorami 6 หลายเดือนก่อน

    AMAZING CONTENT, the background voice is so cute :))

  • @Im_Ninooo
    @Im_Ninooo 2 ปีที่แล้ว

    that's incredible!

  • @Hewtoob
    @Hewtoob ปีที่แล้ว

    Wow 😍

  • @zx1986
    @zx1986 ปีที่แล้ว

    WOW!

  • @ihsanislam651
    @ihsanislam651 ปีที่แล้ว

    I am confused, whats the difference between NATs and NATS streaming? are they two different product?

  • @Mo.Faried
    @Mo.Faried 3 หลายเดือนก่อน

    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.

  • @icycounter-strikeandleague8431
    @icycounter-strikeandleague8431 6 หลายเดือนก่อน

    So ez and awesome

  • @vison360
    @vison360 2 ปีที่แล้ว

    What version of nats CLI are you using? v0.0.33 lacks --rurable flag for example.

  • @dn5426
    @dn5426 10 หลายเดือนก่อน

    long time no see martini guy

  • @nikhilmahesh9071
    @nikhilmahesh9071 2 ปีที่แล้ว

    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.

  • @supercompooper
    @supercompooper 6 หลายเดือนก่อน

    I can't deal with the dots that are required to segment a topic name. Is simply incompatible with my naming schemes.

  • @NithilanUniverse
    @NithilanUniverse 10 หลายเดือนก่อน

    Is it possible to apply queue groups on pull consumers?

    • @SynadiaCommunications
      @SynadiaCommunications  10 หลายเดือนก่อน

      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

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x ปีที่แล้ว

    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

    • @SynadiaCommunications
      @SynadiaCommunications  ปีที่แล้ว +1

      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

  • @dalu_
    @dalu_ ปีที่แล้ว

    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.*?

  • @gearboxworks
    @gearboxworks 2 ปีที่แล้ว +2

    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.`

    • @alexmirrr
      @alexmirrr 2 ปีที่แล้ว +2

      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.

  • @ihsanpro9406
    @ihsanpro9406 ปีที่แล้ว

    Can you make a comparison against Aeron cluster please ?

    • @SynadiaCommunications
      @SynadiaCommunications  ปีที่แล้ว

      Not as familiar with Aeron but we will continue to show off more of the power and performance of NATS

    • @ihsanpro9406
      @ihsanpro9406 ปีที่แล้ว

      @@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