Home

Awesome

Inventa for Python

LinkedIn Twitter HitCount License

A Python library for microservice registry and executing RPC (Remote Procedure Call) over Redis.

WHY THIS PROJECT?

Service discovery, registry, and execution of remote procedures are some of the necessary tools in distributed applications. You must track which services (also how many replica instances of them) are alive. Also, your services should communicate between each other (choreography) or via an orchestrator service on top of them.

You can do API/function calls remotely by serving REST APIs, gRPC endpoints, etc... But these choices came with some drawbacks or advantages, you have lots of different architectural options on this topic.

Inventa offers you a lightweight solution for these requirements; if you already have Redis in your project's toolbox, and if all of your services have access to this Redis instance.

Also, Inventa doesn't abstract/hide its Redis client object, you can use its Redis Client object freely which is already connected to the server.

USAGE SCENARIO

INSTALLATION

pip install inventa

EXAMPLE PROJECT

You can find example projects made using Inventa at https://github.com/adalkiran/inventa-examples.

OTHER IMPLEMENTATIONS

You can find Go implementation of Inventa on Inventa for Go (go-inventa).

LICENSE

Inventa for Python is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.