DEV Community

Cover image for Mastering Microservices: A Hands-On Tutorial with Node.js, RabbitMQ, Nginx, and Docker

Mastering Microservices: A Hands-On Tutorial with Node.js, RabbitMQ, Nginx, and Docker

David Chibueze Ndubuisi on February 08, 2024

Microservices architecture is a smart way to design applications by breaking them into smaller, independent components—microservices—each focusing ...
Collapse
 
stevendemer profile image
Steven Demertzis

Thank you, cleared a lot of things up for me !

Collapse
 
danoseun profile image
'Seun Somefun

Kudos on the effort put into this bro!

Collapse
 
raoudha_hamdi profile image
raoudha hamdi

Thanks for the clear explanation.Much appreciated.

Collapse
 
davydocsurg profile image
David Chibueze Ndubuisi

My pleasure, glad you found it helpful.

Collapse
 
codepriest profile image
Josh-Savvy

This is very clear and concise.
Thanks for the insight 🚀

Collapse
 
chandran_mahesh profile image
Mahesh Chandran

good innovation at work.

Collapse
 
blitzmartin profile image
blitzmartin

Did anybody else have troubles with some Typescript errors?
I have just started and I have some type discrepancies in the user-service, had to add some @ts-ignore in both authRoutes.ts and RabbitMQService.ts

Collapse
 
th_lnguyn_a9988d4fdef profile image
Thị Lê Nguyễn

I got these troubles too! Here are my solutions:

  1. authRoutes.ts In controller, please replace: return res.json(...) by res.json(...) return;
  2. RabbitMQService.ts This problem comes from "@types/amqplib": "0.10.x" with x > 6. Let's use "@types/amqplib": "0.10.6".

It fixed my issues. Hope this helps you too!

Collapse
 
arinzehills profile image
ARINZE CHRIS HILLS • Edited

Thank you so much for this saved a life.

Please now after build the docker compose. i can't access the entire system via a single point like the localhost:8080 please how can i do that when the docker is running. do i need to run that server seperately again?

Collapse
 
pacehut profile image
Md Mafiz Uddin

Yes, basically the api-gateway is not started through the docker-compose t is there only for testing purposes and for production nginx is used

Collapse
 
nokha_debbarma profile image
Nokha Debbarma

Wow! masterpiece content. Really worth reading and coding it.

Collapse
 
y2khack profile image
Rakesh mohanta

So much informative!!!!

Collapse
 
rizwan_siddique_e24e12724 profile image
Rizwan Siddique

it's an amazing article, can you please provide this article with javascript ?

Collapse
 
vinpro profile image
Hien Vinh Nguyen

When is setUserOnline in UserStatusStore will be use?

Collapse
 
khushbu_maurya_e212121dc1 profile image
Khushbu Maurya

I can't access the entire system via a single point like the localhost:8080 please how can I do that when the docker is running. do I need to run that server separately again?