Conductor Server


安裝

要求

  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堆棧上)連接到服務器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM