All Projects → Netflix → Conductor

Netflix / Conductor

Licence: apache-2.0
Conductor is a microservices orchestration engine.

Programming Languages

java
68154 projects - #9 most used programming language
groovy
2714 projects
javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to Conductor

Temporal
Temporal service
Stars: ✭ 3,212 (-14.55%)
Mutual labels:  distributed-systems, workflow-management
Cadence
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
Stars: ✭ 5,522 (+46.9%)
Mutual labels:  distributed-systems, orchestration-engine
schism
Partition testing tool for elixir
Stars: ✭ 58 (-98.46%)
Mutual labels:  distributed-systems
Glusterfs
Gluster Filesystem : Build your distributed storage in minutes
Stars: ✭ 3,437 (-8.57%)
Mutual labels:  distributed-systems
Awesome Distributed Deep Learning
A curated list of awesome Distributed Deep Learning resources.
Stars: ✭ 277 (-92.63%)
Mutual labels:  distributed-systems
Burry.sh
Cloud Native Infrastructure BackUp & RecoveRY
Stars: ✭ 260 (-93.08%)
Mutual labels:  distributed-systems
Trino
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
Stars: ✭ 4,581 (+21.87%)
Mutual labels:  distributed-systems
humainary-signals-services-java
Observability Signaling for Distributed Computation
Stars: ✭ 23 (-99.39%)
Mutual labels:  distributed-systems
Dis Seckill
👊SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统
Stars: ✭ 315 (-91.62%)
Mutual labels:  distributed-systems
Arbore
Friend-to-friend filesharing app to save the world from dystopia
Stars: ✭ 270 (-92.82%)
Mutual labels:  distributed-systems
Nkn
Official Go implementation of NKN full node.
Stars: ✭ 287 (-92.36%)
Mutual labels:  distributed-systems
Dagsfm
Distributed and Graph-based Structure from Motion
Stars: ✭ 269 (-92.84%)
Mutual labels:  distributed-systems
Gleam
Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly.
Stars: ✭ 2,949 (-21.55%)
Mutual labels:  distributed-systems
Oklog
A distributed and coördination-free log management system
Stars: ✭ 2,937 (-21.87%)
Mutual labels:  distributed-systems
kerala
Distributed KV Streams
Stars: ✭ 16 (-99.57%)
Mutual labels:  distributed-systems
Juicefs
JuiceFS is a distributed POSIX file system built on top of Redis and S3.
Stars: ✭ 4,262 (+13.38%)
Mutual labels:  distributed-systems
Hetu
A high-performance distributed deep learning system targeting large-scale and automated distributed training.
Stars: ✭ 78 (-97.92%)
Mutual labels:  distributed-systems
Service Fabric
Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
Stars: ✭ 2,874 (-23.54%)
Mutual labels:  distributed-systems
Mit 6.824 Distributed Systems
2018年春季课程学习资料汇总
Stars: ✭ 279 (-92.58%)
Mutual labels:  distributed-systems
Go Advanced
A small Vietnamese Go book compiled by ZaloPay teams.
Stars: ✭ 321 (-91.46%)
Mutual labels:  distributed-systems

Conductor

Conductor

Conductor is a workflow orchestration engine that runs in the cloud.

Github release CI License NetflixOSS Lifecycle

Builds

The latest version is Github release.

Branch Build
main CI
2.31 Build Status

Getting Started - Building & Running Conductor

Docker

The easiest way to get started is with Docker containers. Please follow the instructions here. The server and UI can also be built from source separately.

Conductor Server From Source

Conductor Server is a Spring Boot project and follows all applicable conventions. First, ensure that Java JDK 11+ is installed.

Development

The server can be started locally by running ./gradlew bootRun from the project root. This will start up Conductor with an in-memory persistence and queue implementation. It is not recommended for production use but can come in handy for quickly evaluating what Conductor's all about. For actual production use-cases, please use one of the supported persistence and queue implementations.

You can verify the development server is up by navigating to http://localhost:8080 in a browser.

Production Build

Running ./gradlew build from the project root builds the project into the /build directory. Note that Docker is a requirement for tests to run, and thus a requirement to build even if you are building outside of a Docker container. If you do not have Docker installed you can run ./gradlew build -x test to skip tests.

Pre-built JAR

A pre-built executable jar is available that can be downloaded and run using:

java -jar conductor-server-*-boot.jar

Conductor UI from Source

The UI is a standard create-react-app React Single Page Application (SPA). To get started, with Node 14 and yarn installed, first run yarn install from within the /ui directory to retrieve package dependencies.

There is no need to "build" the project unless you require compiled assets to host on a production web server. If the latter is true, the project can be built with the command yarn build.

To run the UI on the bundled development server, run yarn run start. Navigate your browser to http://localhost:5000. The server must already be running on port 8080.

Documentation

Documentation
Roadmap
Getting Started Guide.

Published Artifacts

Binaries are available from Netflix OSS Maven repository, or the Maven Central Repository.

Artifact Description
conductor-common Common models used by various conductor modules
conductor-core Core Conductor module
conductor-redis-persistence Persistence and queue using Redis/Dynomite
conductor-cassandra-persistence Persistence using Cassandra
conductor-mysql-persistence Persistence and queue using MySQL
conductor-postgres-persistence Persistence and queue using Postgres
conductor-es6-persistence Indexing using Elasticsearch 6.X
conductor-rest Spring MVC resources for the core services
conductor-ui node.js based UI for Conductor
conductor-contribs Optional contrib package that holds extended workflow tasks and support for SQS, AMQP, etc
conductor-client Java client for Conductor that includes helpers for running worker tasks
conductor-client-spring Client starter kit for Spring
conductor-server Spring Boot Web Application
conductor-azureblob-storage External payload storage implementation using AzureBlob
conductor-redis-lock Workflow execution lock implementation using Redis
conductor-zookeeper-lock Workflow execution lock implementation using Zookeeper
conductor-grpc Protobuf models used by the server and client
conductor-grpc-client gRPC server Application
conductor-grpc-server gRPC client to interact with the gRPC server
conductor-test-harness Integration and regression tests

Database Requirements

Other Requirements

  • JDK 11+
  • UI requires Node 14 to build. Earlier Node versions may work but is untested.

Community

Discussion Forum Please use the forum for questions and discussing ideas and join the community.

Access here other Conductor related projects made by the community! - Backup tool, Cron like workflow starter, Docker containers...

Get Support

Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use github issue tracking for filing issues and Discussion Forum for any other questions, ideas or support requests.

Contributions

Whether it is a small documentation correction, bug fix or new features, contributions are highly appreciated. We just ask to follow standard oss guidelines. Discussion Forum is a good place to ask questions, discuss new features and explore ideas. Please check with us before spending too much time, only to find later that someone else is already working on a similar feature.

main branch is the current working branch, while 2.31 branch is the latest stable 2.x branch. Please send your PR's to main branch, making sure that it builds on your local system successfully. Also, please make sure all the conflicts are resolved.

License

Copyright 2021 Netflix, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].