Build Nest.js Microservices With RabbitMQ, MongoDB & Docker | Tutorial

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

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

  • @jafar1607
    @jafar1607 2 года назад +20

    Wow. This dude is just giving away thousands of dollars worth education for free.
    Salute to you sir. You are helping many.
    I wish all the success in your career.

  • @andyslack1167
    @andyslack1167 Год назад +3

    Really helped me get up and running quickly with NestJS Microservices and RabbitMQ, thank you! Grab beer or two on me!

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

      Thank you so much!

  • @romaghorjomeladze439
    @romaghorjomeladze439 Месяц назад

    The best course about NestJS Microservices

  • @renends7615
    @renends7615 2 года назад +29

    This content is unique, it helps us understand, something very complicated into something simple.
    Great tutorial!

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

    I am watching you videos and this video specifically it is really great to have such content. Because there is almost no one on the internet who is helping with Microservices with NestJS. Thank you for the content from all of us. I am sure many people will take help from this video.

  • @ArturDani
    @ArturDani 2 года назад +8

    Wow, this was the missing piece for me to start using microservices pattern. The puzzle is almost completed (just waiting for deployment part) :)
    Thank you, Sir.

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

    Thanks so much for the tutorial and the source code, it is much help to understand the concept

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

      Thank you for your support!

  • @g-luu
    @g-luu 2 года назад +1

    Best nestjs channel out there.

  • @ezequielgnich
    @ezequielgnich 6 месяцев назад

    Hello Michael, I would like to thank you very much for this content, it is very rich in detail and helped me a lot to understand a little more about microservices and also monorepo with NestJS. You've gained another subscriber. Congratulations on a job well done.

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

    This tutorial makes microservice implementation looks so simple. Thanks coder!

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

    Awesome! Thanks for the great content, waiting for the deployment part!! ♥ Thx Bro.

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

    It was an excellent explanation. Ton of things, we can learn. Just waiting for deployment part

  • @a.nk.r7209
    @a.nk.r7209 2 года назад

    Awesome quality content. No BS.

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

    Minute 5:46, I am loving this tutorial, thanks!

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

    You're the best. waiting for the deployment part

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

    Such an amazing video. Really helped me learn and build my own custom project. Much Thanks. Looking forward for more nestjs content

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

    Awesome! Looking foward to the deployment video!

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

    Every one of your video helps me so much, thanks for doing this!

  • @Vahidk2222
    @Vahidk2222 7 месяцев назад

    Thanks man, it's really comprehensive. I learnt a lot from it

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

    Thank you very much! Viewer from Taiwan.

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

    You are very good at teaching. Keep it up.

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

    hey, you have dropped this ... 👑

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

    excellent tutorial ... great content in such a short time

  • @lexNwimue
    @lexNwimue 3 месяца назад

    This is awesome, man. Has been very helpful to me

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

    OMG!! Our Best Teacher Are Back🥰

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

      Appreciate the support!

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

    absolute gold, thank you man

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

    The course that i waiting for, Thank you so much sir!

  • @VeeWebCode
    @VeeWebCode 10 месяцев назад +2

    litterlay a gold mine . nothing else to say 😘😘

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

    your tutorial is pretty awesome, very well structured

  • @MrOrrGoren
    @MrOrrGoren 2 года назад +5

    Thank you so much for the great tutorial!
    Just a heads up for anyone using Macbook M1 with the ARM64 chip, Bitnami doesn't support it yet.

  • @hugotown.entertainment
    @hugotown.entertainment 2 года назад

    This content is amazing, Thank you very much, is the best content ever!

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

    damn, I learn so many things in one video, thanks, bro.

  • @evil-cheetah
    @evil-cheetah 2 года назад

    You are amazing! Thank you very much for such great content!

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

    Thank you for sharing awesome source code.

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

    +1000 loved your content and looking forward for your next video. Thank you and best of luck

  • @PrashilLonakar
    @PrashilLonakar 5 месяцев назад

    Really Appreciated , thanks for this great tuts. helps a lot.

  • @LamLe-cl4he
    @LamLe-cl4he 2 года назад

    Many thanks, great tutorial!

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

    Thank you! Really useful tutorial.

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

    Very helpful tutorial. Thank you so much.

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

    Thx for great content, i learn alot from this video!)

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

    Awesome work !!,
    Keep it up !!

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

    Thanks! Tutorial straight to the point.
    In my case I came across the problem, have you dealt with this error? "There is no matching message handler defined in the remote service."

  • @zlatkoiliev8927
    @zlatkoiliev8927 Год назад +2

    I got issues with MongooseModule, it says it can’t connect to mongodb-primary 😢

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

    You are the best,thanks!!!

  • @mguay
    @mguay  Год назад +4

    Get my highly rated NestJS Microservices Course at a discount: michaelguay.dev/udemy

    • @daidang8252
      @daidang8252 2 месяца назад

      Thank you! I bought your course!

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

    thank youuu.... for the tutorial😁

  • @cosmic12333
    @cosmic12333 7 месяцев назад

    thanks so much for this video, i love it

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

    Great content 🙏🏻

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

    You are the best!! 😍

  • @nsfmatios
    @nsfmatios 2 года назад +4

    Awesome content! Really well explained and it's insane how every time I watch some NestJS content I learn a new way of doing the same thing. This bad boy is actually quite flexible for a framework. Do you plan on doing a video where you e2e test an application? One of your videos on unit testing really helped me on work 🙏🏽

    • @mguay
      @mguay  2 года назад +6

      Thank you! I have a video on E2E testing here: ruclips.net/video/R2ndY_JhxWk/видео.html

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

    Hey Michael, thanks for the tutorial, super educative! Do you plan to do a tutorial for authorization in NestJS?

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

      Thanks! I have a video on this, check out my channel.

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

    Hello, two questions:
    Why billing service doesn't have a port defined?
    Shouldn't we have a separate database for each service?

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

      I wonder the same

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

      you don't need to define port in billing app because the app is not listen on the http or tcp. It''s listening to the Rmq

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

    Hi Michael,
    May I know why both on Auth and Billing service you define the app.connectMicroservice functionality but in Order service you didn't define the connectMicroservice instead you call the RmqModule.register which calls the ClientsModule.register, is there a rule for this one? because I thought when we want to define our service as microservice we need to call the connectMicroservice for each services? sorry im new to microservice and nestJS.

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

      the order service serves as the entry point into the application. Therefore you need to instantiate Rabbit MQ from there.

  • @Dhirajkumar-ux5ug
    @Dhirajkumar-ux5ug Год назад +4

    Nice video and great content , Can you make a enterprise level application using NestJS with micro-service architecture in which you cover e2e testing , caching, queue management system etc. which required to make production level application using micro-services architecture.

  • @nestieyt
    @nestieyt Год назад +1

    Hot reload not working on docker-compose with the NestJS 10. I couldn't fix it. Can you help me?

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

    The Best. Thanks

  • @asadanik5987
    @asadanik5987 2 месяца назад +1

    If we use one api-gateway app here and RabbitMQ will connect with others microservices via api-gateway only then how it will be? is that will be good ?

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

    Great content. Michael Guay, on the auth service, why is it that instead of validation I do get always a 401 Unauthorized? Is there a way of working around this?

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

    Hi, at 1:11:05 in ordering apps auth section, I don't understood why are you inject(AUTH_SERVICE) constante which is a string value as injector for clientProxy. How works this and in what way does this constant refer to this service ?

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

    Hey guys please i have an error. I followed all the steps till 28:02 but i got : | [Nest] 44 - 07/21/2022, 1:41:51 PM ERROR [MongooseModule] Unable to connect to the database. Retrying (1)...

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

      Same here! Does anybody solved it?

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

      Do you see Mongo start up properly?

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

      @@mguay first of all, THANKS for this amazing tutorial.!
      I think the issue is about that the image with replicas set that you use here, is not compatible with Mac M1 still..

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

      try to change the mongodb version, it should work fine...

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

      This works:
      MONGO_URI=mongodb://root:password123@localhost:27017/?authMechanism=DEFAULT&directConnection=true

  • @АлександрЕлагин-м2ю
    @АлександрЕлагин-м2ю 2 года назад +1

    Very cool 👍 graphql federation with microservices maybe in future ?

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

    Thanks for the awesome video Michael. I was wondering how it is possible to connect to 2 databases from one of the microservice and second microservice connects to only second database and both are responsible for read/write operations in that database. I know there can be microservice communication used but if we wan to avoid the delay.

  • @zackinfos5933
    @zackinfos5933 11 месяцев назад

    Thank you sir for everything you're doing for us, but could you please tell me why you have followed the one shared db approach for all microservices you have implemented? The one db per each microservice could be more suitable for microservices architecture.

  • @elco7956
    @elco7956 11 месяцев назад

    Super interesting topics

  • @cumuluscycles
    @cumuluscycles 4 месяца назад

    Excellent tutorial! This works out-of-the-box from your Repo on a Mac with an Intel Processor, as expected, but I've been trying to update the Images for the Apple M1 ARM64 Arch. Have you tried this as well and, if so, would you mind sharing updated docker-compose / Dockerfile(s)?

  • @romaghorjomeladze439
    @romaghorjomeladze439 Месяц назад

    Is it a good experience to have gateway apps as well?

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

    great tutorial

  • @codinghubfree
    @codinghubfree 9 месяцев назад

    The way you explained is really awesome and helpfull. I have some confusions : Why do we need to create two JwtAuthGuard and how you are deciding where to use JwtAuthGuard and flow of its execution?

  • @girish_rajpoot
    @girish_rajpoot 7 месяцев назад

    I got issues with MongooseModule, it says it can’t connect to mongodb-primary. Please resolve. @Michael

  • @ElyesBoudhina
    @ElyesBoudhina 9 месяцев назад

    Did you create an APi gateway?

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

    Great tutorial, thanks. Why using MessagePattern and switch to rpc? In Auth microservice the rmq auth queue is connected, isn't that mean that we can use EventPattern in auth controller?

  • @sportly-vlog
    @sportly-vlog 2 года назад

    @Michael, thank you for the great tutorial. I have a quick question regarding deployment. You see... the Billing service doesn't listen to any port. With this setup, how do I go about health-checking the service container within AWS ECS? The easiest option that I came to my mind is making it hybrid app just like the Auth service to be able to make a HTTP call to the container via the port. What else option do I have?

  • @marc-andrequintal570
    @marc-andrequintal570 Год назад

    Really nice, were you able to connect into mongo atlas? I can't and it would be great to see data into database

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

    Nice video Michael but I suggest to use any diagram for more simplification before starting that will make it very easy and will get new ideas from comments sure

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

    Great job.

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

    really good tutorial, thank you for creating this video
    bay the way, sometimes when creating an app we also need the second auth for admin, regarding with auth guard, what is the best practice you advise for this case?

  • @pt4shk4
    @pt4shk4 10 месяцев назад

    I'm wondering if there or anywhere else a tutorial for doing database stuff like in this video but with typeorm and rdb?

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

    Thank you much 👍👌🙌

  • @MK-we4dl
    @MK-we4dl Год назад

    How in this configuration work whis different queue in one client?

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

    ​ @Michael Guay hey, do you have any course about nestjs with microservices from scratch?
    or another option, what is the best approach to learn nest js and microservices? i know express, and i know the concept of microservices, but i did not understand what is nestjs and nestjs microservices . thanks

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

    Maybe someone had this issue:
    28:30 npm ERR! path /usr/src/app appears right after I restart the container. And I need to restart it because, even though I followed this tutorial 3 separate days from the beginning, the docker is not restarting when I make updates and click save.

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

    Great content. Thank you. I have a small doubt regarding registering the RmqModule. You have registered it in order module import. However If I want to use it in another module should I register again? Or is there anyway I can register it to a common module and import that module everywhere else in my code. For example emailQueue is something that I might require in multiple modules (order, billing and auth). Can you suggest me a generic way to register EMAIL_SERVICE (emailQueue) in all the modules please?

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

    @michael thanks. Can u throw some light on nestjs with saga topic? I am really confused with saga

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

    Awesome!

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

    Why I can't connect mongodb replicaset in my Macbook M1. Error throwing like this
    [Nest] 69 - 10/24/2023, 10:35:24 AM ERROR [MongooseModule] Unable to connect to the database. Retrying (1)...

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

    I cannot find the bitnami mongodb image repo seems it is no longer open sourced?

  • @azubikeenu7104
    @azubikeenu7104 Год назад +1

    live reload isn't working on docker windows WSL. I don't know if anyone has a fix ?

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

    How would I go about enabling HMR for the individual microservices? I am able to do it for regular NestJS app setup, but with this shared libraries approach, I am not able to figure it out unfortunately.

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

    thank you man

  • @MK-we4dl
    @MK-we4dl Год назад

    Hi. How to set username and passworf for RabbitMQ in connection options?

  • @Imen_lakrib
    @Imen_lakrib 11 месяцев назад

    What about polyrepo .. is it a same way?

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

    superb bro...

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

    How does my application consume multiple queues. I saw an approach someone suggested on stackoverflow where you repeat the "app.connectMicroservice" for each queues, is there a cleaner approach ?

  • @murat.terzioglu
    @murat.terzioglu Год назад +1

    Wonderful video mate! Helped a lot to understand the system and I would like to give a feedback. Can you make commits as you make progress? For example we have "docker", "microservices" and "billing app" chapters on youtube, wouldn't be good if you make commits for each youtube chapter?

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

    Hi Michael. I followed through the video however I want to deploy this on a service like Render. Could you help with this?

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

    Hi! Thanks for the great tutorial... Is it possible to specify queue while emitting the event?

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

    Wow 🤩

  • @MrJony-fv3ev
    @MrJony-fv3ev Год назад

    May I ask a question
    Monorepos can't be deployed seperately, so why is this still considered as microservices?
    It's more monolithic app structure I guess
    Thanks!

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

    well explained, learned a lot, liked the way you make use of the common library for rmq and mongo
    I'm having a bit of trouble connecting to my mongodb when using compass, can I simply connect on localhost:27017 with root:password123 ? or is it different with the way it's set up in your video?

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

    How do we ensure the transaction atomicity in case of any failure, such that the messages are not standing as orphan data in rabbitmq for processing?