redis_canal
Project description
redis-canal
Proxy redis stream from one to another through global queue service.
Motivation: Redis provided on the cloud is usually only available within a VPC and does not provide external access. We want to provide a way to synchronize messages across clouds without going through a VPN.
Supported queue service
- AWS SQS
- Google PubSub
Welcome to contribute more queue service, see adapter/impl for more details.
We also support the plugin system, the adapter can also be imported as a third-party library. See example for more details.
Install
pip install redis-canal[all]
for all components.
Or use docker image
docker pull wh1isper/redis-canal
Usage
Use CLI
redis-canal stream-to-queue
to start a daemon to consume redis stream and push to global queueredis-canal queue-to-stream
to pull from global queue and push to redis stream
CLI args support envvar
, which you can refer to envs.py.
TODO
- More adapter for Google PubSub, Kafka, etc
- Allows users to more easily configure the adapter(Now only support environment variables, within
Adapter
)
Develop
Install pre-commit before commit
pip install pre-commit
pre-commit install
Install package locally
pip install -e .[test]
Run unit-test before PR
pytest -v tests
Develop sqs adapter
You need to configure your AWS account first. See AWS CLI docs for more details.
Make sure your account has sqs:*
permission. Then you can run pytest -v tests/adapter/test_sqs_adapter.py
to test it.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file redis_canal-0.2.0.tar.gz
.
File metadata
- Download URL: redis_canal-0.2.0.tar.gz
- Upload date:
- Size: 51.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b49c70c2df283e865487eda8f0b0c430c9c501833405e2eee703683da686bd3 |
|
MD5 | 28aef655a65668038c0904e13ea3fa5b |
|
BLAKE2b-256 | fc76e22b804bb2247baab957ad9eb0c3f633df20a634119f222b0244dcbec8ca |
File details
Details for the file redis_canal-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: redis_canal-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeb16f6e72b400e9963ac6c1f5a03606dce86f4fb29d23abbe0e275b78f27394 |
|
MD5 | 5da912ed1fe8fed55f06d925958233e5 |
|
BLAKE2b-256 | 3049136a336246c38bd768b44d5e1e332513359a929e8a665248303b9be61300 |