我的当前平台架构有一个微服务用于下载/收集数据,一个微服务用于ETL,另一个微服务用于处理一些复杂的SQL脚本。
我想使用Airflow来调度和监控工作流程。我尝试了它,它的效果非常好。但是,我必须将所有功能作为任务放入Airflow的一个容器中;这不符合当前的微服务架构。我的想法是使用Airflow作为调度程序并与其他微服务通信。
我想问: 在微服务中使用Airflow的最佳方法是什么?我应该使用DAGs中的任务来与微服务通信(发布消息,而微服务将订阅)吗?
DAG可以描述如下。请注意,还有其他任务,例如在下载数据后进行验证,但我已经简化了它。 DAG