当前位置:云计算行业动态 → 正文

Netflix Conductor:一个微服务编制引擎

责任编辑:editor005 作者:Abel Avram |来源:企业网D1Net  2016-12-26 11:35:03 本文摘自:INFOQ

Netflix开发了一个叫“Conductor”的编制引擎,已经在内部生产环境中使用了一年了。在这段时间里,Netflix已经运行了大约260万个处理工作流,包括简单的线性工作流,以及运行数天的动态工作流。现在Netflix开源了Conductor,所有对工作流编制感兴趣的人都能使用它。

根据Netflix的Conductor开发文档的描述,这个引擎包含以下几个主要特性:

能够构建复杂工作流 能够通过微服务执行任务 使用JSON DSL描述的工作流蓝图 执行过程可见、可跟踪 能够暂停、恢复、重启、停止任务 任务执行通常是异步的,也可以强制同步执行 处理工作流能够扩展到百万级别

Conductor的架构图如下: 
 

API和存储层都是可插拔的,允许使用不同的队列和存储引擎。Netflix使用Dynomite做为存储方案,但也能够通过实现一个接口来转换成别的方案。

工作流中的任务分为两种类型:Worker,运行在远端机器上的用户任务;System,运行在引擎的JVM上的任务。后者是用来对Worker执行任务进行branch、fork、join。Worker任务通过HTTP或者gRPC(基于HTTP/2)和Conductor通信。

Netflix决定开发一个编制(orchestration)而不是编排(choreography)引擎,是因为后者在他们的测试中扩展性不好。相关问题如下:

过程流被“嵌入到”多个应用的代码里 通常,在输入和输出、SLAs等方面存在强耦合和假设,导致很难适应需求的变化 几乎没有办法系统地回答“某过程X完成了多少”?

Conductor在GitHub上开源,使用Apache License 2.0许可。

查看英文原文:Netflix Conductor, an Orchestration Engine for Microservices

关键字:conductorNetflix

本文摘自:INFOQ

x Netflix Conductor:一个微服务编制引擎 扫一扫
分享本文到朋友圈
当前位置:云计算行业动态 → 正文

Netflix Conductor:一个微服务编制引擎

责任编辑:editor005 作者:Abel Avram |来源:企业网D1Net  2016-12-26 11:35:03 本文摘自:INFOQ

Netflix开发了一个叫“Conductor”的编制引擎,已经在内部生产环境中使用了一年了。在这段时间里,Netflix已经运行了大约260万个处理工作流,包括简单的线性工作流,以及运行数天的动态工作流。现在Netflix开源了Conductor,所有对工作流编制感兴趣的人都能使用它。

根据Netflix的Conductor开发文档的描述,这个引擎包含以下几个主要特性:

能够构建复杂工作流 能够通过微服务执行任务 使用JSON DSL描述的工作流蓝图 执行过程可见、可跟踪 能够暂停、恢复、重启、停止任务 任务执行通常是异步的,也可以强制同步执行 处理工作流能够扩展到百万级别

Conductor的架构图如下: 
 

API和存储层都是可插拔的,允许使用不同的队列和存储引擎。Netflix使用Dynomite做为存储方案,但也能够通过实现一个接口来转换成别的方案。

工作流中的任务分为两种类型:Worker,运行在远端机器上的用户任务;System,运行在引擎的JVM上的任务。后者是用来对Worker执行任务进行branch、fork、join。Worker任务通过HTTP或者gRPC(基于HTTP/2)和Conductor通信。

Netflix决定开发一个编制(orchestration)而不是编排(choreography)引擎,是因为后者在他们的测试中扩展性不好。相关问题如下:

过程流被“嵌入到”多个应用的代码里 通常,在输入和输出、SLAs等方面存在强耦合和假设,导致很难适应需求的变化 几乎没有办法系统地回答“某过程X完成了多少”?

Conductor在GitHub上开源,使用Apache License 2.0许可。

查看英文原文:Netflix Conductor, an Orchestration Engine for Microservices

关键字:conductorNetflix

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^