Nest.js Microservices Tutorial in 20 Minutes

  Рет қаралды 115,129

Michael Guay

Michael Guay

Күн бұрын

Пікірлер: 120
@ChromaDotNova
@ChromaDotNova Жыл бұрын
First time stepping into the realm of microservices - I still had some questions after reading the NestJS documentation so I went to KZbin, found your video, and after watching I understand the fundamentals a lot better. Thanks so much for taking the time to make this!
@rafaelfranco7643
@rafaelfranco7643 2 жыл бұрын
Finally a good example of microservices using nestjs! Thank you very much.
@Jasonjk74
@Jasonjk74 2 жыл бұрын
Great video and an amazing amount of practical info/learning packed into 18 minutes
@illia_mikhow
@illia_mikhow 3 жыл бұрын
Loved the pace of a video. Short and filled with information. 10/10
@itmax77
@itmax77 3 жыл бұрын
I think I've seen you somewhere
@lexNwimue
@lexNwimue Жыл бұрын
Wow! Great video. Really commendable! I mean, in literally 20 minutes I've gotten a detailed, conceptual image of the entire NestJS Microservice technique
@danielborges8857
@danielborges8857 2 жыл бұрын
Your examples communicated some key concepts and clarified nest js implementation options. Thanks
@FabioSilva-xd4nt
@FabioSilva-xd4nt Ай бұрын
Thank you a lot man. You made me understand some things that were difficult to me
@Olixis
@Olixis 2 жыл бұрын
How does the "sample-backend" knows that "COMMUNICATION" refers to the "sample-communication" microservice? As far as I saw the "COMMUNICATION" token is only at the "sample-communication" microsservice
@muhammadsalikin3886
@muhammadsalikin3886 2 жыл бұрын
by using ClientProxy, sample-backend which acts as gateway is basically the one who reach out to the other services.
@tesla1772
@tesla1772 2 жыл бұрын
i didn't understand how microservices get the event. http based api it is understood that port and ip is given but how does microservice listen to event
@millerbyte
@millerbyte 2 жыл бұрын
What's the point in using the event-based communication pattern if we have to declare / inject all the subscriber microservices (sample-analytics, sample-communication) within the publisher microservice (sample-backend)? Isn't one of the primary advantages of event-based communication the fact that the service publishing the event doesn't know / care about any downstream services that may subscribe to it? This seems like there's still tight coupling between services. For example, what happens if I want to add another service that cares about the user_created event -- will I have to modify the sample-backend to allow this? Seems like an antipattern. This isn't a criticism of you or the tutorial -- thank you for sharing! It's more a criticism of NestJS if this is how the expect you to handle event-based communication.
@mguay
@mguay 2 жыл бұрын
This is a great criticism and I wholly agree. I’m making a new Microservices video that uses RabitMQ as the messaging broker which allows us to remedy a lot of these concerns around tight coupling. Thanks for watching!
@millerbyte
@millerbyte 2 жыл бұрын
@@mguay Thanks for the reply, looking forward to the updated video!
@abdelhalim731
@abdelhalim731 2 жыл бұрын
but this is good for communication between servers no?
@bv5191
@bv5191 2 ай бұрын
I'm glad someone already asked this cause it is my concern as well. Having to inject the "microservices" just makes it a distributed monolith instead of a microservice architecture.
@ikr0525
@ikr0525 Жыл бұрын
Thank you! Awesome video! In our company, someone was assigned to setup the microservices and I really did not mind to understand because I believed it was too complex for me. As long as the microservices were all set up, i just continued coding as usual. This video made it very easy to understand and I can now see why the dev who setup the microservices decided to go with certain approach. I'm curious about the authentication across different microservices, though. Can you make a video for that if possible? That would be amazing!
@eihsan94
@eihsan94 3 жыл бұрын
Would like seeing this deploy using severless framework and lambda
@satadhi
@satadhi 4 ай бұрын
On man you are so good. I liteally bought your udemy course. You are a great teacher sir
@chrismantonuk
@chrismantonuk 2 жыл бұрын
Great, thank you - a lot clearer to me now! You covered everything
@debasistripathy4459
@debasistripathy4459 Жыл бұрын
I DOUBT
@larswolter669
@larswolter669 Жыл бұрын
How do you effectively test automate these event / message based applications?
@henrycodingstack6952
@henrycodingstack6952 3 ай бұрын
I am a bit confused here i thought the sample-backend which is acting as the api gateway is supposed to pass the incoming request to a microservice to handle, whatever business logic and then the specific microservice can emit an event so that other services that needs to do anything with be notified.??
@avimehenwal
@avimehenwal Жыл бұрын
Excellent vide Michael, love your content and way of explaining things. Keep it up
@mguay
@mguay Жыл бұрын
Thank you!
@muratasarslan2359
@muratasarslan2359 Жыл бұрын
thanks a lot. very helpful. is there a way to avoid duplicating CreateUserEvent in all microservices?
@PraneetNegi-n3i
@PraneetNegi-n3i 5 ай бұрын
Can we use libs/common for Authorization and some other common utils like we do in monolithic project, using this microservice structure ? If Yes then please give me some references. Thanks
@maksymbaranovskyi8362
@maksymbaranovskyi8362 9 ай бұрын
Thank you so much! Such a simple yet clear example.
@jeandedieuiradukunda6079
@jeandedieuiradukunda6079 3 ай бұрын
this is awesome i now just got an idea of microservices
@danmarzo5508
@danmarzo5508 3 ай бұрын
Muito obrigado pelo conteudo excelente! O quanto que eu fiquei procurando sobre microservices com api, so o seu video me tirou as duvidas, MUITO OBRIGADO
@thomasbalboa628
@thomasbalboa628 3 ай бұрын
WTF, the tutorial doesn't work, even when reproducing exactly what the author does, it bugs when sending the POST request in Postman. Even after cloning the repo and running both servers with 'nest start --watch', nothing happens. The request runs infinitely, and there's nothing in the logs.
@Xeartoo
@Xeartoo 3 ай бұрын
Change the listening port on all back-ends. This should solve the problem.
@vinimaciel
@vinimaciel Жыл бұрын
Awesome video, you made it so easy to understand
@hollynderisse645
@hollynderisse645 2 жыл бұрын
Thank you very much for sharing this tutorial. It's well explained and very helpful
@ayoubguismi4558
@ayoubguismi4558 3 жыл бұрын
As always simple and clear explanation, thank you michael !
@mguay
@mguay 3 жыл бұрын
Thank you as always, Ayoub!
@alexsapon8769
@alexsapon8769 2 жыл бұрын
Nice example I would suggest you to use monorepos feature that Nestjs provides, quite smooth microservices architecture at the end, plus gives you ability to clean your codebase from code duplication such as dto's you're using across the services best regards
@uchihaashura5021
@uchihaashura5021 2 жыл бұрын
Hi but I'm quite struggle to exclude unnecessary dependency for each app, for example we add a new dependency for ervice A, but we don't need it in service B, when building docker image we are include all this dependencies, how we can exclude them to reduce docker image size ?
@mcc12000
@mcc12000 2 жыл бұрын
@@uchihaashura5021 having a monorepo doesn't mean that you have a single docker image i guess.
@sndro1
@sndro1 2 жыл бұрын
Does this mean that I can share models across services? Do you have any recommendations for tutorials about this?
@theaungmyatmoe
@theaungmyatmoe Жыл бұрын
@@sndro1 Model should not be shared to the others services. They should be domain specific to their own service. So that you have to attach service related domain object to your service
@sndro1
@sndro1 Жыл бұрын
@@theaungmyatmoe I do understand that but how do I share typescript types for these models/services (so that the consuming service knows what it gets)?
@ИванДрачев-ы3у
@ИванДрачев-ы3у 2 жыл бұрын
When i run 'sample-communication' app (after 'sample-backend' is running) - i got an error that port 3000 already in use...Could anyone give me an idea?
@navinmishra6038
@navinmishra6038 11 ай бұрын
As the communication microservice by default listens to 3000 port, we need to make backend server listen to another port(eg: 3001). Then we can run both service
@sg0101010
@sg0101010 2 жыл бұрын
Great video. Question: I'm getting a "no elements in sequence" from the getAnalytics call ? I'm on version 9.x.x
@Akim-z8t
@Akim-z8t 2 жыл бұрын
What is that theme? pllz
@zackinfos5933
@zackinfos5933 11 ай бұрын
thank you Michael for everything, well how do you compare this approach adopted by you, where you have added multiple nestjs projects to one aorkspace, which i found flexible, VS or compared to the one adopted by nestjs monorepo (apps)? well honestly i find this approach more flexible as i have said above for many reasons: - Scalability. - Teams and colaboration. - Multi-lang dev environment. - Database per microservice and the hustle of dealing with monorepos setup and configs for shared files and packages like prisma for example. - Avoiding limitations by any given framework, which makes you finding yourself dealing with solving problems by the same language often with the help of the same tools which results at the end of the same results, thats what stand agains the microservices principle and patterns.
@Thikondrius
@Thikondrius Жыл бұрын
Great tutorial simple, and clear. Good job. Btw can I ask what your vscode theme is ?
@shalandichannel
@shalandichannel Жыл бұрын
Is there a way to use the TCP transport pattern with external apis that are not written with nestjs? And is it possible to use other TCP ports that are private to the microservices when dealing with TCP communication? Or must the traffic all go through the single "3000" port?
@hariharamoorthis3488
@hariharamoorthis3488 Жыл бұрын
Hi... Thanks for your tutorial... Can you please clear my doubt?.. can we call api endpoint of communication or analytics microservices?
@danilopootaren4512
@danilopootaren4512 2 жыл бұрын
I loved it !! Quick question, would this work the same with docker container?
@jafar1607
@jafar1607 Жыл бұрын
Brother. Can we have a multi tenant example with nest js ?
@malkasoft
@malkasoft 2 жыл бұрын
Amazing tutorial! Thanks for sharing
@jithinjacob2181
@jithinjacob2181 2 жыл бұрын
How can it handle parallel processing of requests in the backend, mostly i have seen people use Java /Python to work out the backend
@manorinfinity
@manorinfinity 2 жыл бұрын
Thanks for the video. Loved it. It would be good if you could do a video on microservices and monorepo in nestjs. I mean how do you create a monorepo microservices project in nestjs where we have one API gateway for http requests and all the other microservices listens to events sent by API gateway without allowing http requests on their own.
@mguay
@mguay Жыл бұрын
My new Ultimate Nest.js Microservices course will cover this! Stay tuned for its release in May.
@diegoalonso2832
@diegoalonso2832 2 жыл бұрын
I have a doubt Is there another way to consume mi grpc service without an api gateway?
@temidayomichael4646
@temidayomichael4646 2 жыл бұрын
Which one would you recommend between this pattern and the monorepo micro services pattern in your latest video and what’s the best practice in deployment and repo management? I think I like the monorepo more cos my team is small but I have no idea on the deployment. Thanks a lot!
@mguay
@mguay 2 жыл бұрын
Really it depends on the differences between Kafka and RabbitMQ. I would also recommend a monorepo for smaller teams as it is easier to work with, but it is also makes deployment easier.
@maximcoding2667
@maximcoding2667 2 жыл бұрын
How is it different from with gateway api + createProxyMiddleware ?
@ericww32
@ericww32 2 жыл бұрын
Is there a way to grab any message pattern and put it into a variable?
@Varshakumari-uz8uo
@Varshakumari-uz8uo Жыл бұрын
Why I am getting listen EADDRINUSE : address already in use error.
@foued619
@foued619 Жыл бұрын
same problem, that's because both servers are trying to run on the same port (3000)
@navinmishra6038
@navinmishra6038 11 ай бұрын
@@foued619 As the communication microservice by default listens to 3000 port, we need to make backend server listen to another port(eg: 3001). Then we can run both service
@HarikrishnanM0
@HarikrishnanM0 2 жыл бұрын
At what situations we should go for a microservice architecture ? I am basically developing rest apis .So how can we make a decision on building a micro service ?
@mguay
@mguay 2 жыл бұрын
Microservices help you manage complexity as the size of your application + team grows. For simple projects with one developer, they're not as necessary in my opinion.
@HarikrishnanM0
@HarikrishnanM0 2 жыл бұрын
@@mguay ok got it
@PeterAkaliro
@PeterAkaliro 2 жыл бұрын
wow! so simple lol.... You are a life saver bruh
@yadneshkhode3091
@yadneshkhode3091 2 жыл бұрын
How to use request body in services? without passing the body in functions in controllers
@mguay
@mguay 2 жыл бұрын
I may make a video on it in the future, but check out github.com/nestjs-steroids/async-context
@alvin3171997
@alvin3171997 3 жыл бұрын
Hi Micheal, have you used any backend framework in the past? Like Fastapi etc. Just wondering what’s the pros and cons of using Nestjs. Thank you so much for the video!
@mguay
@mguay 3 жыл бұрын
Good idea for a future video!
@minhazahmed128
@minhazahmed128 Жыл бұрын
This is good but this is gonna take a lot spaces, why not using nestjs workspaces?
@sumitpatil7084
@sumitpatil7084 2 жыл бұрын
Hello Michael how can i use typescript in nestjs
@xixayyumiko6766
@xixayyumiko6766 2 жыл бұрын
how do I do if I made the microservice apart
@verrymariyanto8377
@verrymariyanto8377 2 жыл бұрын
i learn a lota from this tutorial,, can you give litle bit explanation about how to get some return result about using this method,, if we using try catch in controller,, thx
@raneanish21
@raneanish21 2 жыл бұрын
How to implement multiple messagepatterns?
@behradkazemi213
@behradkazemi213 4 ай бұрын
great video thank you so much!
@EstebanHelgueroCardiff
@EstebanHelgueroCardiff Жыл бұрын
Awesome video!
@jazzdestructor
@jazzdestructor 2 жыл бұрын
Hey guys, What is the difference between emit and send methods?
@sarunmrzn
@sarunmrzn 2 жыл бұрын
I believe emit actually sends a request to the ms but send just proxies the entire request to ms, correct me if im wrong
@yousoffatomi
@yousoffatomi 2 жыл бұрын
thank you for record this video ♥
@nnu5510
@nnu5510 Жыл бұрын
Great video, thank you.
@ninjatikeidu
@ninjatikeidu Жыл бұрын
At first it didn't work for me, after a while I understood that I needed to establish the host and port when registering the ClientsModule, after that it worked correctly, tks
@isaacnwankwo6634
@isaacnwankwo6634 Жыл бұрын
please How did you do that, I am facing the same challenge here. I
@isaacnwankwo6634
@isaacnwankwo6634 Жыл бұрын
please never mind, I have figured it out.
@miguecast
@miguecast 2 жыл бұрын
Do you know that Guay is a very common 80's spanish expresión that means "cool"?
@okmylifeday
@okmylifeday Жыл бұрын
Thank you! Very good for me.
@mguay
@mguay Жыл бұрын
Get my highly-rated Udemy courses at a discount here: michaelguay.dev/udemy/
@LasparkOficial
@LasparkOficial Жыл бұрын
Nice work!!
@talhacoder5084
@talhacoder5084 Жыл бұрын
that was so beautiful 🤯
@mahmoudfathy6332
@mahmoudfathy6332 Жыл бұрын
Amazing man 👌
@homelander973
@homelander973 Жыл бұрын
thank you a lot bro, it was really helpfull
@hakanaki
@hakanaki Жыл бұрын
Please some question. - Why did you choose use TCP instead of GRPC and what are the benefits? - How do you host something like this 🥲🥲 - Is it possible to share code between services, like types or DTOs? Thank you for this video BTW, I've been struggling with this concept and you just simplified it in one short video. 👏🏽👏🏽
@kanishkasuvarna7985
@kanishkasuvarna7985 Жыл бұрын
+1
@SRPPixels
@SRPPixels 3 жыл бұрын
when starting the communication server after running sample-backend. it is giving error that port 3000 already in use
@SRPPixels
@SRPPixels 3 жыл бұрын
I also cloned your github project. it is still giving the same error
@cess_uyi
@cess_uyi 2 жыл бұрын
Me too! Please how did you resolve this?
@hakeemullahjan
@hakeemullahjan 2 жыл бұрын
Still facing the issue after changing the PORTs.
@akhil0227
@akhil0227 2 жыл бұрын
on sample-backend in main.ts file . await app.listen(3001) and on sample-communication main.ts file - Transport.TCP, options:{port:3000} . use postman to send request in localhost:3001
@thaingocnguyen1015
@thaingocnguyen1015 2 жыл бұрын
me too, i don't know why it can work on his machine @@
@lardosian
@lardosian 2 жыл бұрын
Could all these services be split into their own repo?
@mguay
@mguay 2 жыл бұрын
Sure you could but I’d say that typically doesn’t follow the standard practice of micro services. At the end of the day though do what best fits your needs.
@imranabdulmalik3591
@imranabdulmalik3591 6 ай бұрын
You're the best!
@romeobetances7964
@romeobetances7964 3 жыл бұрын
Great job!
@martinavalos1626
@martinavalos1626 Жыл бұрын
what do you think about using prisma package for handling databases queries? did you ever use it ?
@narrajayasri94
@narrajayasri94 2 жыл бұрын
I am unable to get the output can u guide me or respond to my comment. Plz
@cholasimmons
@cholasimmons Жыл бұрын
Subscribed!
@nanonkay5669
@nanonkay5669 3 жыл бұрын
Next, you show how to do it using a message broker
@siamak.hatami
@siamak.hatami 10 ай бұрын
Great, thanks.
@deliomarcosdacostajunior3036
@deliomarcosdacostajunior3036 2 жыл бұрын
Thanks from Brasil ! õ/
@sabinshrestha267
@sabinshrestha267 Жыл бұрын
amazing
@lialia3293
@lialia3293 9 ай бұрын
Great !
@saurabhtalele1537
@saurabhtalele1537 7 ай бұрын
🎉🎉🎉cool
@umer.on.youtube
@umer.on.youtube 2 жыл бұрын
Do not use a stupid max. Get on Windows.
@nditahsamweld346
@nditahsamweld346 2 жыл бұрын
Hi Michael Guay, what's your twitter handle. Nice job!
@mguay
@mguay 2 жыл бұрын
Thank you! I don't have a Twitter though.
Deploy a Nest.js App With Docker + Kubernetes on Google Cloud
18:24
NestJs Microservices with RabbitMQ
23:21
Computerix
Рет қаралды 19 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Real 10x Programmers Are SLOW To Write Code
14:51
Thriving Technologist
Рет қаралды 71 М.
Learn NestJS Microservices in 20 Minutes
20:34
Tech Vision
Рет қаралды 25 М.
Microservices explained - the What, Why and How?
18:30
TechWorld with Nana
Рет қаралды 909 М.
NestJS Crash Course - Build a Complete Backend API
3:21:59
Laith Academy
Рет қаралды 49 М.
Nest.js Caching Tutorial in 15 Minutes (Redis + Unit Testing)
13:00
Microservices with Databases can be challenging...
20:52
Software Developer Diaries
Рет қаралды 122 М.
The Right way to write Nest.js & Typescript clean-code - SOLID
17:55
Build Nest.js Microservices With RabbitMQ, MongoDB & Docker | Tutorial
1:24:40
Decouple your NestJS code with this technique!
11:37
Marius Espejo
Рет қаралды 42 М.
Halloween is coming
0:12
Younes Zarou
Рет қаралды 3,4 МЛН
Американцы красят асфальт?
0:27
BAZAR CLUB
Рет қаралды 188 М.
КАК ЖИВЕТ КВАНТУМ? РУМ ТУР КВАНТУМА!!!
13:51
Самые простые строительные леса
0:54
Канал ИДЕЙ
Рет қаралды 1 МЛН