NodeJS Microservices Full Course - Event-Driven Architecture with RabbitMQ

Поделиться
HTML-код
  • Опубликовано: 23 янв 2025

Комментарии • 73

  • @Reel_InsightYT
    @Reel_InsightYT 11 месяцев назад +2

    I just wanted to drop by and say a massive thank you for your awesome tutorial on Node.js microservice architecture with RabbitMQ. Your explanation was clear, concise, and super easy to follow.
    I've been diving into microservices lately, and your tutorial provided me with exactly the insights I needed to understand how to implement them effectively using Node.js and RabbitMQ. Your step-by-step guidance made the whole process seem much less daunting.

  • @paulmerlyn9526
    @paulmerlyn9526 3 года назад +8

    Like the elusive 6.0 of figure skating or batting a thousand in baseball, you've gone and created what may be the perfect (and I mean perfect) 1-hour RUclips video tutorial. The world held its breath in the last five minutes. Flawless!

    • @manueldiera6781
      @manueldiera6781 3 года назад +1

      Agree 100%. This is excellent content, thank you for taking the time to record and share.

    • @angzar
      @angzar Год назад

      I was considering giving the video the benefit of doubt, your reply killed the doubt before it could take flight

    • @bettadaily
      @bettadaily Год назад

      my exact thoughts ...Excellent.

  • @foobar2662
    @foobar2662 2 года назад

    dude this channel is gold!

  • @DuyTran-ss4lu
    @DuyTran-ss4lu 3 года назад +2

    I'm new to event-driven and this tutorial is very easy to understand

  • @ueki844
    @ueki844 3 года назад

    thanks, good tutorial, always see the ads before start see the video ^ ^

  • @AhmedSaleh-ws3pz
    @AhmedSaleh-ws3pz 3 года назад +2

    Awesome tutorial man! Keep it up!!

  • @ilyakushlianski6519
    @ilyakushlianski6519 3 года назад +3

    Thank you for useful information!

  • @Muhammed-nani964
    @Muhammed-nani964 2 года назад

    Finally something good and practical

  • @BorisShulman
    @BorisShulman 3 года назад +8

    Hi, great video, great example. But don't You think that a way you use RMQ and Express was to coupled? Routers inside callback of RMQ is not the best solution.

  • @blink11101
    @blink11101 3 года назад +2

    Good video! thanks for sharing!

  • @viniciuslima7030
    @viniciuslima7030 Год назад

    Thanks!!!!!!!!!!! this tutorial is beautiful

  • @Euronymous331
    @Euronymous331 Год назад

    keep up the good work amazing tutorial

  • @Stargazer86m
    @Stargazer86m 2 года назад

    Excellent course! Kept me up all night! :D

  • @DuyTran-ss4lu
    @DuyTran-ss4lu 3 года назад +1

    Thank you thank you. Good content!

  • @he01682936
    @he01682936 2 года назад

    great video!

  • @antoniosotougaldi76
    @antoniosotougaldi76 Год назад

    Thanks for the video, 2 questions, how the frontend update the info asynchronously ? which db tool r u using to connect both sql and no sql db ?

  • @ogagaadjaro1613
    @ogagaadjaro1613 3 года назад

    Quite, interesting... good job..

  • @prateek5908
    @prateek5908 2 года назад +1

    What software are you using to access the dbs?

  • @DuyTran-ss4lu
    @DuyTran-ss4lu 3 года назад

    Super awesome. Thank you so much

  • @juanfalcon9507
    @juanfalcon9507 3 года назад +1

    What great content, I am looking forward to publishing a nodejs course with microservices on your platform.

  • @hoseinmirian
    @hoseinmirian 2 года назад

    how about replacing axios call with creating an event when admin is down and a consumer for admin to listen to like_increase_event? does it solve the issue? I still do not get why did you call using axios while creating an event is more reliable... please explain. tnx

  • @abdulazizhassankehinde6928
    @abdulazizhassankehinde6928 Год назад

    i am having problems connecting to the mysql database using typeorm since the createConnection function is deprecated, does anyone have a fix for it, will really appreciate, thanks.

    • @sridhar7251
      @sridhar7251 Год назад

      bro did you fix it or is it not fixed unsolvable

  • @micasntna
    @micasntna 3 года назад

    hey man, you make microservice became a joke with such nice explanation thanks for it homie ;)

  • @alessiorizzolo8709
    @alessiorizzolo8709 2 года назад

    Is there a way to inform he publisher that a message has been successfully delivered to the consumer?

  • @alexandergorin9963
    @alexandergorin9963 3 года назад +1

    Hello, great work, thanks a lot for this, but I cannot connect to mongo: neither to mongo atlas nor to mongo compass. This is the log I got: Error: No connection options were found in any orm configuration files. I spent couple of hours to solve this problem, but with no result. Do you have any ideas?

  • @amventures1
    @amventures1 2 года назад +2

    Great video.
    However, using express routers inside RabbitMQ callback isn't optimal

  • @adityavernekar8152
    @adityavernekar8152 2 года назад

    Can both admin and the main server use same database for eg mongodb ?

  • @khangviet7042
    @khangviet7042 2 года назад

    Excellent

  • @valikonen
    @valikonen Год назад

    why you need to save same data into two databases?

  • @mahendranath2504
    @mahendranath2504 3 года назад

    Thank you so much 👍🤞👏🎉👌🙌😊

  • @safsfsfdfgdg
    @safsfsfdfgdg 3 года назад +3

    You may want to use increment method of repository instead to avoid state reads.

  • @piyushmahapatra5402
    @piyushmahapatra5402 3 года назад +4

    Hey,can you recommend the next Video/ Course to extend this learning? Want to get into making some production level microservices . Thanks!! Awaiting your Reply (*_*)

  • @mohamedbelkamel5437
    @mohamedbelkamel5437 3 года назад

    Hi ,is there a way to instead of typing the name of the queue directly in the code (hardcoded) in multiple microservices, define it i a declarative way or something?

    • @0xccd
      @0xccd 3 года назад

      Provide it as an env var. If you use docker, you can parameterize your build

  • @mariodiaz4355
    @mariodiaz4355 3 года назад

    What IDE are you using?

  • @richardantao3249
    @richardantao3249 3 года назад +6

    Great video! Is there a rule of thumb for when to send internal http requests vs. consume events?

    • @hoseinmirian
      @hoseinmirian 2 года назад

      thats what im asking in my comments!

  • @Pekerjarimot
    @Pekerjarimot 2 года назад

    Great tutorial!
    But, how to authorize each API?

  • @mondlymarcellus1398
    @mondlymarcellus1398 3 года назад

    why you use two Database for products??

  • @geek.with.a.camera
    @geek.with.a.camera 3 года назад

    I have started learning RabbitMQ recently and going through their documentation and watching another tutorial video on youtube (using Java) I learnt that it uses Exchange and and is binded to queues through some routing key. But here I see it used totally different (directly interacting with queue without the need for exchange and routing key). Does it have a different implementation in Nodejs or am I missing something?

    • @KunalMukherjee3701
      @KunalMukherjee3701 3 года назад +1

      It uses default exchange (auto created by rmq) if you don't specify a routing key or use an exchange explicitly

  • @victortarus2814
    @victortarus2814 3 года назад +1

    damn ...thankyou so much

  • @compeng2013
    @compeng2013 3 года назад +1

    are you using Clean Architecture?

    • @ScalableScripts
      @ScalableScripts  3 года назад

      I'm not sure it is a Clean Architecture or not since that was not my focus. This was the 'simplest' app I thought about microservices.

  • @manishranjan9982
    @manishranjan9982 3 года назад

    It was great and easy to understand, few questions I'd like to ask: How to handle scenarios like sendtoqueue failed, and is there any chance that after getting sent to the queue something unprecedented happened with queue before the message being consumed,,, then how to maintain consistency. Thanks

    • @combinedprogrammer2477
      @combinedprogrammer2477 3 года назад +1

      Hi, let’s say the consuming service was down, you can configure rabbitmq to expect an acknowledgement from the consuming service, if not it will keep the event ready until it’s acknowledged from the service

    • @hoseinmirian
      @hoseinmirian 2 года назад

      @@combinedprogrammer2477 can u please share a link to it

  • @kadirookirim3231
    @kadirookirim3231 3 года назад

    thank you so much

  • @softwareengineer5764
    @softwareengineer5764 3 года назад

    hi, Very nice tutorial. if authentication service is also used then it will also send and consume Events?

    • @ScalableScripts
      @ScalableScripts  3 года назад +2

      Good question, not exactly depends on how you use it. Usually, the user identity is always a separate service. If you want to send information that the user is logged in at this time or a new user is registered then you can send and consume events. If you want to make sure that the user is authenticated in another microservice then in this case you should use Internal Http Calls to the User Identity Microservice to verify the user. I have a course that explains this thing exactly but I use Laravel unfortunately. I will create another one using Node, not sure when but you can check it later if you are interested more in the topic.

    • @softwareengineer5764
      @softwareengineer5764 3 года назад +2

      @@ScalableScripts I would definitely wait for your course. The code structure is exceptionally perfect. I would definitely wait for a course to make an app for end to end demonstration.

  • @prabhsharansingh6150
    @prabhsharansingh6150 3 года назад

    thanks man

  • @FrancisRodrigues
    @FrancisRodrigues 3 года назад

    Nice application!! Can I get the same results in another way, maybe another tool?

    • @ScalableScripts
      @ScalableScripts  3 года назад

      what do you mean exactly?

    • @nivb52
      @nivb52 3 года назад

      You can use Redis streams for example

  • @hoseinmirian
    @hoseinmirian 2 года назад

    very good video but I have a comment. what happens when sending axios call to another service, the other service is down? you did not explain how you would manage that case? In a real production app, the whole concept of micro service is to keep each app separate to work independently and if one of them is down the other should be working. so imagine your post is dependent on comment service. someone leave a comment and call axios to sync it with post service and post is down! now axios call gets rejected.

  • @padmakarkasture2969
    @padmakarkasture2969 3 года назад

    what is the name of ide

  • @jesseinit
    @jesseinit 3 года назад +32

    play in 1.5x speed

  • @structureandconquer
    @structureandconquer 2 года назад

    I like your video and would like to suggest creating nodemon.json conf file with the
    {
    "watch":["src"],
    "ext":".ts",
    "exec":"ts-node ./src/app.ts"
    }
    and in package.json:
    "start":"nodemon"
    this way, you don't need to run the tsc on a constant basis, just for final builds

  • @bakaleisanich
    @bakaleisanich 3 года назад

    do you have any plans to create this course? I have not found one on your site

    • @ScalableScripts
      @ScalableScripts  3 года назад +1

      Yes, First I will release a NestJS Microservices course next week then I will create ~7 new courses with NodeJS over the next 2-3 months including the Microservices course

    • @bakaleisanich
      @bakaleisanich 3 года назад

      @@ScalableScripts Thank you!

  • @ueki844
    @ueki844 3 года назад

    i hope there's tutorial send many email with node js and rabbitmq ^ ^

  • @wuzahns5302
    @wuzahns5302 3 года назад

    everyone in the comments is okay with this tutorial, but I think it could be done in 10 minutest(just rabbitmq part), all other parts with databases are redundant, just for pure beginners