bulletproof-nodejs
bulletproof-nodejs copied to clipboard
How would you break this structure in two micro-service if needed later
If i go through this structuring pattern , it seems to me that breaking this into say 2 micro-service would be very difficult. How would you go about this problem ?
Why would it be difficult? Just use two servers with his pattern, try to separate your app by domain concern, like in one server have the Authentication Service (user database) and in another have the other models (i.e products on an e-commerce app)
@santiq say I've also got an order service which is a separate microservice. And in the order service, I need to know which user is ordering, and therefore I might need the user model. In this scenario don't I have to write the same User Model, schema in the order-service which I also wrote in the Auth service?
And therefore with this approach am I not keeping duplicate code in my whole eco-system? Or this is the usual approach?
This is rather a microservice design problem, but in this case, you might use the user id to identify your users and communicate with the auth service when needed to get user information. You could also store the user information in a jwt and share the public key. You should do more research on how to build microservices and how to handle data between services.
@barakcodes thanks. I think getting user information should not be part of the order service rather a user service or auth service. With the userId from jwt a REST/gRPC call will be made to the auth service which may return the user's info.
But yes, of course, it's a micro-service design problem.