3 ms·
I've seen a variant of the "Neomonolith" where you run the same code base on every server, but use a proxy layer (Zuul/Apache/Nginx) to isolate specific parts o
by exelius 11y ago
I've seen a variant of the "Neomonolith" where you run the same code base on every server, but use a proxy layer (Zuul/Apache/Nginx) to isolate specific parts of the code base on a set of servers for specific, high-traffic use cases. That way you're still only building one image, but you can still get some of the performance tuning / concurrency benefits of micro services without all the headache. Still doesn't come close to solving all the problems of the monolith, but it's another band-aid you can apply if a micro services architecture doesn't make sense...
- cows_i_have 11y agoHave you got any examples of this? I would like to see if you do.
- exelius 11y agoNot very difficult to set up -- just use a reverse proxy on certain parts of the path (e.g. one set of reverse proxy entries for /api/foo and another for /api/bar). That way if the foo API gets hammered, the performance of bar is unaffected (assuming your proxy layer is adequately sized). Note this doesn't help if your persistence layer gets overwhelmed (since in a monolith you'll still probably have a single persistence layer). Separating the persistence layer is by far the hardest part of moving from a monolithic to a micro services architecture.