1. 部署环境
1.1 安装node环境,安装yarn
进入node的 中文站点 并选择需要安装的版本链接
将安装包上传至服务器
解压安装包: tar -xvf node-v16.14.0-linux-x64.tar.xz
添加环境变量:
vim ~.bash_profile
加载配置:
source .bash_profile
验证安装成功:
1.2 安装yarn:
1.上传安装包
2.配置环境变量
1.3 安装redis(测试用)
1.上传安装包
2.编译、安装
由于redis是c语言编写的,所以我们需要先安装gcc,安装的命令如下:
yum -y install gcc
安装成功后输入,查看版本
gcc -v
进入到redis目录(/app/cq/redis-5.0.5),然后输入
make
控制台会输出一编译的信息,编译成功后,输入
make install
启动:进入目录 /app/cq/redis-5.0.5/src 执行命令:
nohup redis-server --protected-mode no > stdout-redis.log 2>&1 &
2.对接redis
参考官方文档即可,这里标记下关键的配置代码:
配置的入口: com.netflix.conductor.redis.config.AnyRedisCondition
队列配置:com.netflix.conductor.redis.config.RedisCommonConfiguration#redisQueues
3.对接es
3.1 对接es7
注:netflix-conductor主分支并不支持ES7,在对接时是引入conductor-community中的模块完成对接
es依赖默认关闭
conductor.indexing.enabled=false
elasticsearch默认使用6、源码只包含es6的持久层实现
可以通过修改配置依赖社区版的es7持久层、并重新打包(参考 https://www.jianshu.com/p/0274a853de17)
/springboot-bom-overrides.gradle
change ext['elasticsearch.version'] from revElasticSearch6 to revElasticSearch7
/dependencies.gradle
增加 revElasticSearch7 = '7.9.3'
/server/src/main/resources/application.properties
change conductor.elasticsearch.version from 6 to 7
/server/build.gradle
删除
implementation project(':conductor-es6-persistence')
增加
runtimeOnly 'com.netflix.conductor:conductor-es7-persistence:3.11.3'
/test-harness/build.gradle
删除
implementation project(':conductor-es6-persistence')
增加
testImplementation 'com.netflix.conductor:conductor-es7-persistence:3.11.3'
注意:es7依赖维护在conductor-community 项目,更新相比conductor可能滞后,本次conductor采用3.12.0 但es7最新依赖为 3.11.3
es相关配置
conductor.indexing.enabled=true
conductor.elasticsearch.version=7
conductor.elasticsearch.url=http://xx:9200
conductor.elasticsearch.indexName=conductor
3.2 对接es6
netflix-conductor 原生支持ES6的对接,只需要修改配置即可
修改application.properties文件
conductor.indexing.enabled=true
conductor.elasticsearch.version=6
conductor.elasticsearch.url=
conductor.elasticsearch.username=
conductor.elasticsearch.password=
conductor.elasticsearch.indexName=conductor
注意,根据配置的url的形式不同,ES客户端会采用不同的通讯协议,若 conductor.elasticsearch.url 的值是以 http 或者 https 开头则采用HTTP协议,否则采用TCP协议
相关代码可参考:
com.netflix.conductor.es6.config.ElasticSearchV6Configuration