安装

要求

  1. 数据库Dynomite               https://github.com/Netflix/dynomite
  2. 索引后端: Elasticsearch 2.x    https://www.elastic.co/cn/
  3. Servlet容器:Tomcat,Jetty或类似的运行JDK 1.8或更高版本

有3种方式可以安装Conductor:

源代码build

从源代码构建,从github检查代码,并使用gradle build命令构建服务器模块。如果没有安装Gradle,可以./gradlew build从项目根目录运行命令。这会在文件夹./server/build/libs/中生成导体-server-all- VERSION.jar

该jar可以执行:

java -jar conductor-server-VERSION-all.jar

从jcenter或maven中央下载预制的二进制文件

使用以下坐标:

神器
com.netflix.conductor 导体服务器所有 1.6。+

3.使用预先配置的Docker镜像

要为conductor server构建Docker映像,并运行以下命令:

cd docker
docker-compose build

在构建Docker image后,运行以下命令启动容器:

docker-compose up

这将创建一个由以下image组成的docker container网络:conductor:server,conductor:ui,elasticsearch:2.4和dynomite。

要查看UI,请导航到localhost:5000,以查看Swagger文档,导航到localhost:8080

配置

conductor server使用基于属性文件的配置。属性文件作为命令行参数传递给Main类。

java -jar conductor-server-all-VERSION.jar [PATH TO PROPERTY FILE] [log4j.properties file path]

log4j.properties文件路径是可选的,可以更好地控制日志记录(默认为控制台中的INFO级别日志记录)。

配置参数


# Database persistence model. Possible values are memory, redis, and dynomite.
# If omitted, the persistence used is memory
#
# memory : The data is stored in memory and lost when the server dies. Useful for testing or demo
# redis : non-Dynomite based redis instance
# dynomite : Dynomite cluster. Use this for HA configuration.
db=dynomite # Dynomite Cluster details.
# format is host:port:rack separated by semicolon
workflow.dynomite.cluster.hosts=host1:8102:us-east-1c;host2:8102:us-east-1d;host3:8102:us-east-1e # Dynomite cluster name
workflow.dynomite.cluster.name=dyno_cluster_name # Namespace for the keys stored in Dynomite/Redis
workflow.namespace.prefix=conductor # Namespace prefix for the dyno queues
workflow.namespace.queue.prefix=conductor_queues # No. of threads allocated to dyno-queues (optional)
queues.dynomite.threads=10 # Non-quorum port used to connect to local redis. Used by dyno-queues.
# When using redis directly, set this to the same port as redis server
# For Dynomite, this is 22122 by default or the local redis-server port used by Dynomite.
queues.dynomite.nonQuorum.port=22122 # Transport address to elasticsearch
workflow.elasticsearch.url=localhost:9300 # Name of the elasticsearch cluster
workflow.elasticsearch.index.name=conductor # Additional modules (optional)
conductor.additional.modules=class_extending_com.google.inject.AbstractModule

高可用性配置

导体服务器是无状态的,可以部署在多个服务器上以处理规模和可用性需求。服务器的可扩展性是通过将Dynomite集群与用于队列的dyno-queue进行缩放来实现的。

客户端通过HTTP负载平衡器或使用Discovery(在NetflixOSS堆栈上)连接到服务器。

 

Conductor Server的更多相关文章

  1. conductor介绍

    https://netflix.github.io/conductor/ https://github.com/Netflix/conductor 编译版: https://jcenter.bintr ...

  2. netflix conductor 学习(一)docker-compose 运行

    为了方便学习以及使用netflix conductor 基于官方的dockerfile,构建了server 以及ui 的容器镜像并push dockerhub 环境准备 官方docker-compos ...

  3. CentOS7安装OpenStack(Rocky版)-04.安装Nova计算服务(控制节点)

    上一篇文章分享了glance镜像服务的安装配置,本文主要分享openstack的计算服务Nova的安装和配制方法 ------------------ 完美的分割线 ----------------- ...

  4. conductor编译镜像

    # git clone https://github.com/Netflix/conductor.git # git checkout -b 2.0 remotes/origin/2.0 # cd s ...

  5. conductor Workflow Metrics

    Server Metrics conductor使用spectator收集指标.https://github.com/Netflix/spectator 名称 目的 标签 workflow_serve ...

  6. conductor 系统任务

    动态任务: 参数: dynamicTaskNameParam:来自任务输入的参数的名称,其值用于调度任务. 例如 如果参数的值为ABC,则调度的下一个任务类型为“ABC”. Example { &qu ...

  7. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  8. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  9. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

随机推荐

  1. 重建oracle的em

    重建oracle的em   今天不知道怎么,心血来潮,就把本机从域里退了出去,然后准备把oracle11g的control给处理处理 一开始也没怎么用心,上网随便找了点资料,就照着干了,然后什么都没干 ...

  2. HDU 2063 过山车(匈牙利算法)

    过山车 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissio ...

  3. 使用shell/bat脚本调试java程序示例

    一.linux下shell启动java #!/bin/sh JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre # JVM_OPT ...

  4. jquery二维码生成插件_二维码生成器

    jquery二维码生成插件_二维码生成器 下载地址:jquery生成二维码.rar

  5. 使用Python调用动态库

    我个人在日常使用电脑时,经常需要使用Google,于是就要切换代理,基本上是一会儿切换为代理,一会儿切换成直连,老是打开internet 选项去设置,很不方便,于是我萌生了一个想法: 做一个开关,我想 ...

  6. 关于封装Dll为Web Service技术方案的讨论

    关于web架构技术方案的讨论整理 Sonictl 2014年1月25日10:05:52 本着"三人行必有我师"的学习态度,我在近期跟x老师做了大量沟通,结合我们单位对于" ...

  7. uva-10474-枚举-水题

    题意:看代码 #include<stdio.h> #include<iostream> #include<sstream> #include<queue> ...

  8. jQuery id模糊 选择器 批量处理

    $("span[id^='province_']").each(function(index,obj){        $(obj).bind("click", ...

  9. Windows系统下Eclipse上搭建Python开发环境

    参考网站:   https://blog.csdn.net/zhangphil/article/details/78962159 1.先安装JDK 和python,参考网站:https://www.c ...

  10. linux添加计划任务

    crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.可以用以下的 ...