Python asynchronous library for synchronizing replicated microservices
Project description
aiodistributor
Python Asynchronous Library for Synchronization of Replicated Microservices
This library provides a set of tools for synchronizing replicated microservices using Redis. The main goal is to facilitate inter-service communication, rate limiting, and throttling mechanisms in a distributed environment.
Features:
- Distributed sliding counter for implementing rate limiting or throttle mechanisms.
- Distributed waiter for waiting for signals from other nodes or services and triggering the appropriate callback.
- Distributed task for managing and distributing tasks across multiple nodes or services.
- Distributed cache for caching data and sharing it among services.
- Distributed notifier for event-driven communication between nodes or services.
- Utilizes Redis for storage and message passing between nodes.
- Asynchronous and non-blocking design using Python's asyncio library.
Dependencies
- Python 3.10+
- Redis server
- redis-py or aioredis
Installation
To install the aiodistributor library, you can simply use pip:
pip install aiodistributor
Usage
Detailed examples and usage instructions can be found in examples folder
Contributing
Contributions are welcome! Please submit a pull request or create an issue to discuss proposed changes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiodistributor-0.0.2.1.tar.gz
(13.2 kB
view hashes)
Built Distribution
Close
Hashes for aiodistributor-0.0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e594e06a2ee31804af7f8355911d2b7d60aee52d9aee36cc77d185535a6ead |
|
MD5 | 7258bb387d979f05fddc17ba0deb1a3d |
|
BLAKE2b-256 | 08fa5b23f51e2d9e8074da6fbb3f51522882d4c68686de3a284f6f2d8596b38e |