原创

Zeebe Docs翻译:1. 1 什么是Zeebe?

温馨提示:
本文最后更新于 2019年10月07日,已超过 1,872 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

Zeebe是用于微服务编排的工作流引擎。Zeebe确保一旦启动,流程将始终完全执行,并在发生故障时重试步骤。在此过程中,Zeebe会维护完整的审核日志,以便可以监控流程进度。Zeebe具有容错能力,可以无缝扩展以处理不断增长的交易量。

下面,我们将简要介绍Zeebe。有关更多详细信息,我们推荐去Zeebe主站上查看“ Zeebe是什么?”

Zeebe解决什么问题,以及如何解决?

公司的端到端工作流几乎总是跨越多个微服务。例如,在一家电子商务公司中,“客户订单”工作流程可能涉及支付微服务,库存微服务,运输微服务等:

(官方该图片打不开)

这些跨微服务的工作流程至关重要,但是很少对工作流程本身进行建模和监控。通常,通过不同微服务的事件流仅隐式地用代码表示。

如果是这样,我们如何确保工作流程的可见性并提供状态和错误监控?即使单个微服务失败,我们如何保证流程始终完成?

Zeebe给您:

  1. 公司端到端工作流程状态的可见性,包括运行中工作流程的数量,平均工作流程持续时间,工作流程中的当前错误等。
  2. 基于工作流当前状态的工作流编排Zeebe将“命令”发布为一个或多个微服务可以使用的事件,以确保工作流根据其定义进行。
  3. 监视超时或其他工作流程错误,并能够配置错误处理路径,例如有状态重试或升级到可以手动解决问题的团队。

Zeebe设计为可大规模运行,并且为实现这一目标,它提供了:

  • 横向可扩展性,不依赖外部数据库;Zeebe将数据直接写入到部署了相同服务器的文件系统上。Zeebe使在整个计算机集群中分布处理过程变得简单,以实现高吞吐量。
  • 容错通过一个易于配置的复制机制,确保Zeebe可以从机器或软件故障,无数据丢失和最少的停机时间恢复。这样可以确保整个系统保持可用状态,而无需手动操作。
  • 消息驱动的体系结构,其中所有与工作流程相关的事件均写入仅附加日志中,从而提供审核跟踪和工作流程状态的历史记录。
  • 一个发布-订阅交互模型,该模型使连接到Zeebe的微服务可以保持高度的控制和自治,包括对处理速率的控制。这些特性使Zeebe具有弹性,可伸缩性和反应性。
  • 以ISO标准BPMN 2.0建模的可视化工作流,因此技术和非技术利益相关者可以使用广泛使用的建模语言在工作流设计上进行协作。
  • 与语言无关的客户端模型,使得几乎可以使用组织用来构建微服务的任何编程语言来构建Zeebe客户端。
  • 作为一个自包含且自给自足的系统,操作简便易用Zeebe并没有要求一个群集协调,如动物园管理员。因为Zeebe集群中的所有节点都是相等的,所以扩展相对容易,并且可以与DockerKubernetesDC / OS等现代资源管理器和容器编排很好地配合使用Zeebe的CLI(命令行界面)使您可以编写脚本并自动执行管理和操作任务。

您可以在文档的“基础”部分中了解有关这些技术概念的更多信息

Zeebe简单轻巧

现有的大多数工作流引擎都提供比Zeebe更多的功能。虽然访问许多功能通常是一件好事,但可能会增加复杂性并降低性能。

Zeebe 100%专注于为工作流程编排提供紧凑,健壮和可扩展的解决方案。它的目标不是在广泛范围内提供支持,而是要在此范围内出类拔萃。

此外,Zeebe可与其他系统配合使用。例如,Zeebe提供了一个简单的事件流API,可以轻松地将所有内部数据流式传输到另一个系统(例如Elastic Search)中以进行索引和查询。

确定Zeebe是否适合您

请注意,Zeebe当前处于“开发人员预览”中,这意味着它尚未准备好投入生产,并且正在进行大量开发。有关更多详细信息,请参见路线图

您的应用程序可能不需要Zeebe提供的可伸缩性和性能功能。或者,您可能会围绕Zeebe尚未提供的BPM(业务流程管理)提供一套成熟的功能。在这种情况下,工作流程自动化平台(例如Camunda BPM)可能更合适。

正文到此结束