Netflix Conductor环境搭建

夏飞跃
2023-12-01

Conductor是一个运行在云上的编排引擎,可以对不同的task进行管理,Conductor由Netflix的Media Workflow Infrastructure团队维护。

根据Conductor的官方文档,依赖环境如下:

  • Database: Dynomite

  • Indexing Backend: Elasticsearch 2.x

  • Servlet Container: Tomcat, Jetty, or similar running JDK 1.8 or higher

官网提供3种安装部署方式

  • 从Github上下载源码,通过gradle bulid编译
  • 从maven库直接下载对应版本
  • 通过docker image直接建立docker镜像,docker 镜像里包含全部依赖

Conductor Server启动有3种模式,和配置文件中db参数有关,如果不指定则默认为内存模式,还可以指定为redis或dynomite,dynomite是官方标配。

当运行在内存模式下,Dynomite和ElasticSearch 2.x都是非必需的。

安装Conductor

  1. 从github上下载源码
git clone https://github.com/Netflix/conductor.git
  1. 编译源码
cd conductor
./gradlew build

当执行build时时间会比较久因为可能从网上下载gradle,这种情况下我们可以自行安装gradle,然后执行以下命令即可

cd conductor
gradle build
  1. 编译好的jar包在**/conductor/server/build/libs/**下,启动Conductor Server
java -jar conductor-server-1.11.0-SNAPSHOT-all.jar

启动本地服务器

在我启动过程中,使用上面的启动方法能启动成功,但并没有创建一个kitchen workflow样例,因此采用另一种方式启动:进入conductor目录,打开git bash

cd server
gradle server

出现以下字样则说明kitchensink workflow样例启动成功

![Snipaste_2018-07-13_17-06-59](C:\Users\liuning\Pictures\Saved Pictures\Snipaste_2018-07-13_17-06-59.png)

访问网址http://localhost:8080/查看Swagger APIs,这是管理工具,可以注册task、workflow等增删改查操作。

![Snipaste_2018-07-13_17-10-56](C:\Users\liuning\Pictures\Saved Pictures\Snipaste_2018-07-13_17-10-56.png)

启动UI服务器

进入 conductor\ui\ 目录,右键 -> git bash here,执行

gulp watch

等待构建。成功后可打开 http://localhost:3000 查看workflow状态监控界面,如下图:

注意

执行gulp命令,首先需要安装node.js,并且由于框架使用了import,node.js版本必须使用8.0以上,node装好后再安装glup。顺序应该为:安装node.js->全局安装gulp->项目安装gulp

过程可以参考 http://www.ydcss.com/archives/18#lesson5 ,完成教程的1-5步 即安装node.js和全局安装gulp。

由于npm的官网镜像下载很慢,所以建议先按个cnpm,连接淘宝提供的npm库

npm install -g cnpm

项目安装gulp的步骤如下:

cd ui
cnpm install gulp --save-dev
cnpm install --save-dev
 类似资料: