开源微服务编排框架NetflixCond

本文主要介绍netflixconductor的基本概念和主要运行机制。

一简介

netflixconductor是基于JAVA语言编写的开源流程引擎,用于架构基于微服务的流程。它具备如下特性:

允许创建复杂的业务流程,流程中每个独立的任务都是由一个微服务所实现。基于JSONDSL创建工作流,对任务的执行进行编排。工作流在执行的过程中可见、可追溯。提供暂停、恢复、重启等多种控制模型。提供一种简单的方式来最大限度重用微服务。拥有扩展到百万流程并发运行的服务能力。通过队列服务实现客户端与服务端的分离。支持HTTP或其他RPC协议进行数据传送

二基本概念

Task

Task是最小执行单元,承载了一段执行逻辑,如发送HTTP请求等。

SystemTask:被conductor服务执行,这些任务的执行与引擎在同一个JVM中。

WorkerTask:被worker服务执行,执行与引擎隔离开,worker通过队列获取任务后,执行并更新结果状态到引擎。Worker的实现是跨语言的,其使用Http协议与Server通信。

conductor提供了若干内置SystemTask:

功能性Task:

HTTP:发送


转载请注明:http://www.aierlanlan.com/cyrz/5613.html