conductor README

The project's README from github.com/Netflix/conductor. As one markdown file: README.md.

Conductor

Announcement

Effective December 13, 2023, Netflix will discontinue maintenance of Conductor OSS on GitHub. This strategic decision, while difficult, is essential for realigning our resources to better serve our business objectives with our internal Conductor fork.

We are deeply grateful for your support and contributions over the years. While Netflix will no longer be maintaining this repo, members of the Conductor community have been active in promoting alternative forks of this project, we’ll leave the code as is and trust that the health of the community will remain strong and continue to develop moving forward.

Conductor

NetflixOSS Lifecycle Github release License

GitHub stars GitHub forks

Conductor is a platform created by Netflix to orchestrate workflows that span across microservices.

Releases

The final release is Github release

Workflow Creation in Code

Conductor supports creating workflows using JSON and Code.
SDK support for creating workflows using code is available in multiple languages and can be found at https://github.com/conductor-sdk

Community Contributions

The modules contributed by the community are housed at conductor-community. Compatible versions of the community modules are released simultaneously with releases of the main modules.

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

List of Conductor community projects: Backup tool, Cron like workflow starter, Docker containers and more.

Getting Started - Building & Running Conductor

Using Docker:

The easiest way to get started is with Docker containers. Please follow the instructions here.

From Source:

Conductor Server is a Spring Boot project and follows all applicable conventions. See instructions here.

Published Artifacts

Binaries are available from 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-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-client Java client for Conductor that includes helpers for running worker tasks
conductor-client-spring Client starter kit for Spring
conductor-java-sdk SDK for writing workflows in code
conductor-server Spring Boot Web Application
conductor-redis-lock Workflow execution lock implementation using Redis
conductor-awss3-storage External payload storage implementation using AWS S3
conductor-awssqs-event-queue Event queue implementation using AWS SQS
conductor-http-task Workflow system task implementation to send make requests
conductor-json-jq-task Workflow system task implementation to evaluate JSON using jq
conductor-grpc Protobuf models used by the server and client
conductor-grpc-client gRPC client to interact with the gRPC server
conductor-grpc-server gRPC server Application
conductor-test-harness Integration and regression tests

Database Requirements

Other Requirements

Get Support

There are several ways to get in touch with us:

Contributions

Whether it is a small documentation correction, bug fix or a new feature, contributions are highly appreciated. We just ask you to follow standard OSS guidelines. The 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 out later that someone else is already working on a similar feature.

main branch is the current working 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 2022 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.

conductor (Netflix/conductor)

Searching Database…

12.7K ·GitHub
archived
这是什么?Conductor 是 Netflix 开发的一个平台,用于编排跨多个微服务的工作流。
这只是一个服务端,还是也包含 UI 和客户端库?它包括一个 Spring Boot 服务端应用、一个基于 Node.js 的独立 UI 用于可视化工作流,以及用于定义工作流的 Java 等代码 SDK。
我该如何运行 Conductor?最简单的方式是使用 Docker 容器,也可以从源码构建 Spring Boot 服务端;已发布的构件也可以在 Maven Central 上获取。
运行它需要安装什么?比如数据库、搜索引擎或其他东西?服务端需要 JDK 17+,构建 UI 需要 Node 14,默认持久化需要 Redis,索引后端需要 Elasticsearch 6.x。
这个项目还在维护吗?不再维护。Netflix 已于 2023 年 12 月 13 日停止维护 Conductor OSS,该仓库已归档;社区成员转而维护活跃的分支。
在 Conductor 中到底如何定义工作流?工作流可以用 JSON 定义创建,也可以用代码创建,并且 SDK 支持使用多种编程语言编写工作流。
除了 Redis,Conductor 还支持哪些持久化选项?服务端还提供 Cassandra 持久化模块和基于 Redis 的工作流执行锁,另外还支持用 AWS S3 存储外部负载,用 AWS SQS 作为事件队列。
Conductor 除了 REST 还支持 gRPC 吗?支持。除了 Spring MVC 的 REST 资源外,它还包含单独的 gRPC 客户端和服务端模块,并带有 protobuf 模型。
尽管 Netflix 已停止维护,我还能继续使用 Conductor 吗?可以。代码仍保留在 GitHub 上,并且已经出现了几个由社区维护的分支,以继续开发和提供支持。
Creator
Netflix
Size
28.8 MB
Stars
12.7K
Age
9y
Commits · 90 Days