This is super useful, recently I've been thinking about how one might break a monolith into microservices and this answers it perfectly!
I do have two questions:
Once you've moved all bits of the monolith into microservices, would you remove the bouncer and instead modify nginx/apache/etc to direct requests to relevant microservices instead?
Or could you instead change the bouncer into a microservice that receives requests from nginx/apache/etc and instead of redirecting, send a message onto a message bus service like Kafka or RabbitMQ and instead communicate that way?
I would keep the bouncer as it allows you to keep that level of decoupling for any future enhancements you want to make.
I don't have much experience using microservices per se, but a more general software engineering background, so here's my two cents (also I prefer the term "facade" instead of "bouncer"):
I think this is roughly what Kyle also replied, but written a bit more verbose. I hope this helps :)
How would we send messages to other Micro services through the facade? I realise this isn't an implementation blog post but It's not really mentioned.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.