TLDR; https://github.com/Ananto30/zero (Work in progress)
Hi good people,
I am recently working on the concept of creating a framework for Python microservices. We usually use REST APIs for inter-service communication. But if we use Python for the whole ecosystem, we can leverage the option of making things much more simpler.
So I came up with a concept of using the messaging pattern for inter-service communication and call RPC to reduce the overhead of HTTP. I used Zeromq under the hood and made this framework to easily communicate with other services.
The power of Zero is like Distributed systems. We can use Zero to spawn several servers in different machines and just connect them to handle the distributed tasks. We can use Zero to -
Create high performance web servers, that communicate using RPC.
Train ML models concurrently
Act as workers, also handles scheduling tasks
Currently, only server is supported and hopefully, in future I am planning to add pub-sub.
Please let me know your thoughts and what can be improved in Zero.