'Is faust[rocksdb] a mandatory extension to be installed?
I am working on microservices architecture and using kafka to communicate b/n microservices. I am using python faust to implement producers and consumers.
Is it mandatory to install faust[rocksdb] extension? When I install it, fails with a
fatal error: rocksdb/slice.h: No such file or directory.
What could be the impact I could see in production if I am not using rocksdb? If the package is mandatory to install how can I solve the issue? I had tried many answers, but nothing seems to work.
Solution 1:[1]
RocksDB is not a required dependency of Faust. By default a Faust app saves changelogs to memory, which is in their documentation.
Some systems may have issues installing faust[rocksdb]
but I've had success installing it inside a Docker container. I suggest reading this SO answer for more details since they're having the same issue with slice.h
.
Be warned that the wheel on PyPi for python-rocksdb
is outdated, you'll need to manually install a newer version from https://github.com/twmht/python-rocksdb. There are more features in its actively maintained fork (https://github.com/NightTsarina/python-rocksdb), but I only got that working inside an Ubuntu 22.04 container.
What could be the impact I could see in production if I am not using rocksdb?
If your Faust application needs to frequently restart and your changelogs have a lot of activity, then you'll have to wait a while to wait for your app to update your local state. This is also mentioned in the Faust documentation. This wait time could range from a few seconds to minutes depending on how frequently your tables change.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |