什么是Azkaban?
Azkaban是什么
Azkaban是由Linkedin开源的做批量工作流任务的调度器。在一个工作流内按照特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的相互依赖关系,并且提供了一个易于使用的web用户界面维护与跟踪你的工作流。
Azkaban的功能特点:
web用户界面
方便上传工作流
方便设置任务之间的关系
工作流调度
认证/授权
能够杀死并重新启动工作流
模块化与可插拔的插件机制
项目工作区
工作流与任务的日志记录和审计
Azkaban的核心架构体系
1)MySQL实例--Azkaban使用MySQL来存储项目和执行(暂只支持MySQL数据库,未来可能会支持更多的数据库)
2)Azkaban Web服务器--Azkaban使用Jetty作为Web服务器,用作控制器和提供Web界面(为什么不同Tomcat?由于Tomcat比较重量级,需要单独部署,这里没有必要)
3)Azkaban执行服务器--Azkaban执行服务器执行提交工作流
Azkaban的三种运行模式
1)solo server mode(这种模式不会用到,了解即可)
H2(存储用H2数据库)
web server和executor server运行在一个进程里
2)two server mode (重点掌握)
MySQL(主从结构,为了避免单点故障)
web server和executor server运行在不同的进程
3)multiple executor mode
MySQL(主从结构)
web server和executor server运行在不同的进程
executor server有多个(避免一个executor server负载过多)
推荐阅读
-
PHP session的销毁是三种方式
-
php-框架 - PHP,什么时候用到静态方法最为合适?
-
90后海归女的区块链生活:生活是一场冒险,我们都是探险家
-
CGI和servlet运行方式本质的区别是什么?PHP和Java在Web开发的原理有哪些本质不同?
-
javascript - 后台是用iframe还是Ajax方便?
-
为什么我无法显示用户信息啊?
-
看了好多招聘。比如如下的腾讯的招聘,大神请问为什么PHP还要用到socket?
-
什么是ORM,以及在php上的使用?
-
关于PHP中表单的批量交付,大家有什么看法
-
MySQL 的 utf8_general_ci 和 utf8_unicode_ci 有什么区别,应如