Tamarco¶
Microservices framework designed for asyncio and Python.
Features¶
Lifecycle management.
Standardized settings via etcd.
Automatic logging configuration. Support for sending logs to an ELK stack.
Application metrics via Prometheus.
Designed for asyncio.
Messaging patterns. The framework comes with support for AMQP and Kafka via external resources. The AMQP resource has implemented publish/subscribe, request/response and push/pull patterns.
Custom encoders and decoders.
Pluging oriented architecture. Anyone can create a new resource to add new functionality. External resources are integrated into the framework transparently for the user.
Graceful shutdown.
Resources¶
- The framework allows to write external resources and integrate them in the lifecycle of a microservice easily. List with
the available resources:
Metrics
Registry
Status
Profiler
Memory analizer
HTTP
Postgres (not released yet)
Influxdb (not released yet)
Redis (not released yet)
Websocket (not released yet)
Let us know if you have written a resource.
Examples¶
There are several examples in the examples
folder.
To run them, install tamarco, launch the docker-compose (not necessary for all the examples) and run it.
pip install tamarco
docker-compose up -d
python examples/http_resource/microservice.py
Requirements¶
Support for Python >= 3.6.