Zookeeper在开源工作流框架dolphinscheduler中扮演着多个角色,例如,主服务器和工作人员之间的心跳检测,任务队列,事件侦听器和分布式锁。dolphin-sche framework
是否可以使用数据库(mysql)替换它?主要原因是简化项目结构。
目前,系统中的MasterServer和WorkerServer节点都使用Zookeeper进行集群管理和容错。此外,系统还基于ZooKeeper执行事件监视和分布式锁定。我们还基于Redis实现了队列,但是我们希望DolphinScheduler依赖于尽可能少的组件,因此我们最终删除了Redis实现。
所以现在,如果没有Zookeeper,DolphinScheduler可能无法正常工作,
DolphinScheduler系统架构:
有关更多文档,请参考:Official Document。