- LittleHorse 简介:是一个 Java 开源平台,用于编排分布式系统,可解决状态管理和微服务、外部 API 及人工任务协调等问题,开发者能用 Java、Go、Python、C#、.NET 等语言以编程方式定义工作流,无需专门的领域特定语言(DSL),关键能力包括实时可观测性、自动错误恢复、事件驱动协调、用户任务集成和开发者 SDK。
- 面临的挑战与目标:现代分布式系统在服务间协调、状态管理和确保可靠性方面引入复杂性,LittleHorse 旨在提供智能工作流编排来管理这些底层问题,让开发者专注于核心业务逻辑而非基础设施。
- 平台架构:以 LittleHorse Kernel(原 LittleHorse Server)为中心,是负责执行定义流程(WfSpecs 作为 WfRuns)、持久化管理状态和确保可靠执行的核心引擎,主要用 Java 编写,利用 Apache Kafka 作为持久化预写日志进行状态持久化和从故障中恢复,适用于多种用例。
- Workflow-as-Code 方式:通过 LittleHorse SDK 定义工作流规范(WfSpec),是可复用的模板,包含操作序列、变量管理、条件分支、并行和错误处理策略等,例如一个 KYC 工作流的示例代码,其中包含任务(Task),通过 Task Definition 声明,用 Task Method 实现业务逻辑,如验证身份的任务方法。
- 任务工作者与工作流运行:任务工作者是使用 LittleHorse SDK 的独立客户端应用,负责处理任务方法并与 LittleHorse 内核交互,当 WfSpec 被执行时称为工作流运行(WfRun)。
- 部署选项与工具:包括开源(OSS)内核(SSPLv1 许可证)、托管的 LittleHorse Cloud 服务和 LittleHorse For Kubernetes(LHK),重要工具有基于 Web 的仪表板用于监控、
lhctl
命令行界面和特定语言的 SDK。 - 发展历程:2021 年 12 月由 Sun Microsystems 联合创始人 Scott McNealy 的儿子 Colt McNealy 创立,2023 年开源,反映团队认为工程师为工程师构建的软件应向所有人开放的理念,更多细节可在LittleHorse QuickStart或GitHub 仓库中找到,开发者贡献可在GitHub 仓库中了解。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。