zoukankan      html  css  js  c++  java
  • 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堆栈上)连接到服务器。

     
  • 相关阅读:
    DOM的重点核心
    window的Navigator 对象
    meta标签的http-equiv与content解析
    深拷贝与浅拷贝
    web安全CSRF和XSS
    同源策略与跨域问题
    instanceof与constructor的区别
    javascript原型对象与原型链
    Dom事件
    CSS盒模型的介绍
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/7011334.html
Copyright © 2011-2022 走看看