【发布时间】:2020-05-28 13:43:07
【问题描述】:
是否可以使用以下代理来代替 Redis 或 RabbitMQ:
- 动物园管理员
- IBM MQ
- 卡夫卡
- 超级缓存
如果是这样,我将如何使用它?
谢谢
【问题讨论】:
是否可以使用以下代理来代替 Redis 或 RabbitMQ:
如果是这样,我将如何使用它?
谢谢
【问题讨论】:
根据 brokers 支持部分传输中的 Celery 文档,RabbitMQ 和 Redis 功能齐全,可作为稳定的解决方案。
根据您为任何替代方案提供的列表,Zookeper 也可能被用作 Airflow 中的 Celery 执行器,但仅作为具有一些功能限制的实验性选项。
Zookeper 代理实现的安装详细信息,您可以找到 here。
使用 Python 包:
$ pip install "celery[zookeeper]"
您可以查看源 setup.py code 中的所有可用扩展。
参考 Airflow 文档:
CeleryExecutor 是您可以扩展工作人员数量的方法之一。为此,您需要设置一个 Celery 后端 (RabbitMQ, Redis, ...) 并更改您的
airflow.cfg以将 executor 参数指向CeleryExecutor并提供相关的 Celery 设置。
在准备好特定的 Celery 后端后,在airflow.cfg 文件中调整适当的设置,如有任何疑问,请参阅此example。
【讨论】: