|
|
|
|
|
by zepolen
3858 days ago
|
|
This shows a few of the drawbacks of microservices one of which is memory. This project used about 15mb per python instance = 60mb total when the entire stack is launched. Once you load a few largish python libraries like sqlalchemy you can get up to 100mb per instance x 4 = 400mb. What would be interesting is a framework that allows you to run the entire microservice stack in a single interpreter (shouldn't be hard with flask blueprints) and break off the subapps as necessary when the need arises. You would need a way of managing the current endpoints for each service vs a requests.get('http://localhost:ARBITRARY_PORT') in the code, but if done correctly would make managing a cluster much simpler. Does anyone know if such a thing exists? |
|
The idea behind microservices is to have small services running on their own processes and communicating using a light-weight mechanism. This means you could write a service in Java, another in Python, Node.js etc. (i.e. pick the most appropriate language for the task)