Want to learn more about these concepts and how to build production-grade Node.js Microservices? Check out my highly-rated course with this discount code: michaelguay.dev/udemy/
@johnisutsa164111 ай бұрын
I decided to take the time this month to really try and understand JS and its various runtimes like nodejs, and how it works. Then, this video comes up. Literally perfect timing. Thank you. Excellent teaching as always.
@cesargamer123111 ай бұрын
Insane, make more courses, yours explanations are soo good
@mguay11 ай бұрын
For sure, stay tuned. Thank you!
@mabad88928 ай бұрын
Thank you!! Very informative lecture and looking for further concepts.
@CookerSingh9 ай бұрын
A new fan is coming right away, please make more videos on scaling and building production level code logics and optimisation, cause no one is doing that except Copy Pasting 🎉❤ Request: please make a video on how to setup typescript for production react app.
@emreaka396511 ай бұрын
15:32 and C#. Even with async await syntax utilizses multiple threads. Thank you for the video.
@ivanuskov8625 ай бұрын
Great video, really helped to understand core concepts of js and async code in js, thanks! wanted to mention that better to use Promise.allSettled instead of Promise.all allSettled handles a little differently (returns status and value) but doesnt stop if rejected promises occur
@nikhilgoyal0078 ай бұрын
My note: @13:00 how promise does not block it. (it is async sleep rather than being blocked)
@orchideirakozesr884211 ай бұрын
Excellent tutorial Michael , been following your channel for a while now . thought i'd throw in a couple of nuggets . I know for one that pm2 can be used to scale NodeJs processes , although K8s is a production grade solution it also requires quite a bit of an overhead , could we get alternatives ? I've also hear interesting stuff about Worker threads , maybe you could help us unpack that . Keep up the good work !
@mguay11 ай бұрын
I love the idea of a future video with PM2 and Worker Threads! Stay tuned.
@raymondmora712011 ай бұрын
Thanks Michael! Your content is amazing, i've learned a lot from you!
@souhailDevv11 ай бұрын
This is gold, thanks a lot. Can we achieve multi threading by using a message broker/queue system instead of workers ?
@mguay11 ай бұрын
Still one thread, but we can scale horizontally by distributing the work to several applications - so it is very similar.
@abolfazljalildoost76610 ай бұрын
Thanks for these useful videos. I love your tuts
@MightyKingKala11 ай бұрын
your content is a gem, thank you
@solomanter11 ай бұрын
Very helpful, Thanks!
@hamza_dev11 ай бұрын
Wait. When we have I/O-bound tasks, aren't they passed to a thread pool and then executed on a separate thread by the kernel?
@mguay11 ай бұрын
Only for very specific tasks: DNS lookup, file-system I/O, Crypto & ZLIB The actual network I/O is completely async and handled by the kernel. Node (the event loop) simply moves onto other tasks while it awaits the response from the kernel stackoverflow.com/questions/51653440/does-node-js-use-libuv-thread-pool-for-network-i-o
@gmg1510 ай бұрын
Awesome content as always, One question though, if I have a limited knowledge on dockers and k8s, is it a good approach to go with node clusters instead??
@stephanjames153611 ай бұрын
keep it up! you are doing a great JOB!!!
@belkocik11 ай бұрын
14:55 is there other way to write a non-blocking code? Rather than returning new Promise(), could I return just a function which contains a setTimeout inside?
@outplays_311 ай бұрын
Hi @mguay, i wonder in this what theme are you using in vs code?
@Kady3DPrinting6 ай бұрын
Impressive
@igboanugwocollins445211 ай бұрын
Thank you for this masterpiece
@nikhilsrivastava-i2y11 ай бұрын
Thanks for your amazing work !!👌🙂
@amirchegini902411 ай бұрын
Many thanks
@mr.daniish11 ай бұрын
This content is so fresh and different that the cookie cutter dev content being produced out there! keep it coming Micheal
@spikesolid62211 ай бұрын
Nice explanation
@mguay11 ай бұрын
Yes exactly, check out my video on Horizontal Pod Autoscaling to have this happen automatically based on CPU & Memory usage metrics!
@mohammadrezabehzadfar812211 ай бұрын
Hi Michael thank for the nice video can you make a course for nestjs graphql microservice i mean even a paid course is fine i really want to know more about that
@mguay11 ай бұрын
Yes stay tuned for my next course :)
@samatzhussipov113911 ай бұрын
Amazing Thanks!
@amirsaad862711 ай бұрын
Thank you Michael, And thank you for amazing Udemy micro-services neste course. It makes really big difference at my career 👍. Hope if there is more about could (Kubernetes, helm ) and how to manage clusters.
@mguay11 ай бұрын
For sure, stay tuned. Thank you!
@dacam2911 ай бұрын
Promise.all is concurrent, meaning they start executing in parallel, but, JavaScript being single-threaded, only one line of code is executed at a time (code inside callbacks)
@ofuochi11 ай бұрын
Node.js is designed for concurrent, not parallel, execution of operations, with a focus on non-blocking, event-driven tasks primarily suited for I/O-bound workloads
@khanumar693811 ай бұрын
now its capable of parallel excecution through worker nodes @@ofuochi
@GoYoops11 ай бұрын
Yea, and I think it's important to distinguish between the 2 terms for new developers that are learning instead of just deciding to use the term parallel when in fact all code execution is concurrent unless utilizing worker threads. The I/O network events can happen in parallel, but the actual code execution will always be concurrent.
@spikesolid62211 ай бұрын
Why can't we use pm2 for cluster mode?
@mguay11 ай бұрын
Stay tuned for a video on it!
@Hero-pw3esАй бұрын
really nice.
@chris_ea2 ай бұрын
Brilliant
@Alex-bc3xe9 ай бұрын
You are a really good developer maybe you should refine your branding and marketing strategy cause you have talent.
@bombrman199411 ай бұрын
I am using Nuxt atm
@pluraltest924211 ай бұрын
Why does the function non blocking need to be asynchronous? You are returning a promise and not awaiting for anything
@mguay11 ай бұрын
It doesn’t need to be since we’re already returning a Promise like you said