baker
361
Stars
88
Forks
13
Watchers
34
Open Issues
MIT
许可证
Scala
语言
2016-12-05
创建时间
2026-11-05
最近更新
项目能做什么
Baker 是一个微服务业务流程编排库。它基于 Petri 网概念,解决复杂微服务调用与流转难以管理和协同的问题。核心功能是提供 Java/Kotlin/Scala DSL 将流程声明为由交互、数据和事件组成的“配方”,支持可视化展示,并能跨团队复用交互组件。
官方英文简介原文(中文版暂未生成):Orchestrate microservice-based process flows
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
<div align="center">
<img src="https://github.com/ing-bank/baker/blob/master/baker-logo.png?raw=true" alt="Baker Logo">
[](https://github.com/ing-bank/baker/actions/workflows/ci.yml)
[](https://search.maven.org/artifact/com.ing.baker/baker-runtime)
[](https://codecov.io/gh/ing-bank/baker)
</div>
# Baker
Baker is a library that provides a simple and intuitive way to orchestrate microservice-based process flows.
You declare your orchestration logic as a recipe using the Java, Kotlin, or Scala DSL. A recipe consists of
`interactions` (system calls), `ingredients` (data), and `events`.
Bakers ability to visualize recipes provides a powerful communication tool that helps product owners, architects, and
engineers to have a common understanding of the business process. This feature allows you to easily share your recipe
with others, enabling collaboration and feedback.
Baker allows for the reuse of common interactions across different recipes, promoting consistency and reducing
duplication. With Baker, you can quickly assemble complex process flows by reusing pre-existing building blocks that
have been built by other teams within your company.
Use the list below to learn more about Baker:
- [Documentation](https://ing-bank.github.io/baker/)
- [Concepts](https://ing-bank.github.io/baker/sections/concepts/): high level concepts and terminology
- [Recipe DSL](https://ing-bank.github.io/baker/sections/cookbook/recipe-dsl/): how to use the recipe DSL
- [Visualization](https://ing-bank.github.io/baker/sections/cookbook/visualizations/): how to visualize a recipe
- [Baker Talk @ J-Fall 2021](https://www.youtube.com/watch?v=U4aCUT9zIFk): API orchestration taken to the next level
## A bird's-eye view of Baker
A recipe is the blueprint of your business process. To create this blueprint you use the Java, Kotlin, or Scala DSL. The
examples below demonstrate a recipe for a simple web shop process.
<details>
<summary>Java DSL</summary>
```java
final Recipe recipe=new Recipe("Web shop")
.withSensoryEvents(
CustomerInfoReceived.class,
OrderPlaced.class,
PaymentMade.class
)
.withInteractions(
InteractionDescriptor.of(ValidateOrder.class),
InteractionDescriptor.of(ReserveItems.class)
.withRequiredEvent(PaymentMade.class),
InteractionDescriptor.of(ShipGoods.class),
InteractionDescriptor.of(SendInvoice.class)
.withRequiredEvent(GoodsShipped.class)
)
.withDefaultFailureStrategy(
new RetryWithIncrementalBackoffBuilder()
.withInitialDelay(Duration.ofMillis(100))
.withDeadline(Duration.ofHours(24))
.withMaxTimeBetweenRet
阅读完整原文
项目深度分析 AI 生成
Baker 流程可视化与调试监控控制台 (SaaS / 私有部署)
| 产品构想 | 针对 Baker 仅提供代码 DSL 和静态图生成的现状,开发开箱即用的运行时监控 UI,提供实时 Petri-Net 状态流转高亮、事件回放、断点重试与日志追踪。 |
| 核心功能 | 运行时流程图拓扑监控、失败 Interaction 手动重试/补偿触发、Token/Ingredient 流转审计追踪、多环境连接管理。 |
| 目标用户 | 正在使用或评估 Baker 的微服务开发团队与 SRE 运维人员。 |
| 难度/周期 | 中等 · 2-3 个月 · 成本:前端可视化开发成本、测试集群搭建与云服务器租用费用。 |
| 收费模式 | 按受纳实例数收取私有部署 License 费或企业订阅制运维工具费。 |
| 竞争风险 | Baker 开源社区规模较小(Star 361),存量活跃用户基数不足导致付费漏斗过窄。 |
| 依据 | AI推测 |
基于 Baker DSL 的低代码/无代码配方设计器 (Visual Recipe Studio)
| 产品构想 | 构建可视化拖拽式 Petri-Net 设计器,让产品经理和架构师通过 UI 连线配置 Interactions、Ingredients 和 Events,并自动双向同步生成 Java/Kotlin/Scala DSL 代码。 |
| 核心功能 | 拖拽式 Recipe 建模、DSL 代码双向导出/导入、语法与循环死锁静态检测、组织级 Interaction 资产库共享。 |
| 目标用户 | 金融、保险、电商等具有高频业务流变更需求的企业产品经理与技术架构师。 |
| 难度/周期 | 高 · 3-5 个月 · 成本:复杂的前端图编辑框架开发、Petri-Net 验证算法实现成本。 |
| 收费模式 | 团队协作版 SaaS 席位订阅、企业级私有化买断授权。 |
| 竞争风险 | 开发团队往往更倾向于在 IDE 内直接写代码 DSL,跨职能协同场景需强业务推力。 |
| 依据 | 尚需验证的假设 |
企业级微服务编排咨询与轻量化开箱即用套件 (Distribution & Consulting)
| 产品构想 | 围绕 Baker 提供预打包的 Docker/K8s 运行时模版、主流消息队列集成模版(Kafka/RabbitMQ)以及落地架构咨询培训服务。 |
| 核心功能 | 开箱即用 K8s Helm 部署包、Spring Boot 启动器集成套件、Saga 分布式事务模版库、技术支持 SLA 订阅。 |
| 目标用户 | 希望摆脱 Temporal/Camunda 较重方案、寻求 Petri-Net 事件驱动编排的企业中小型自研团队。 |
| 难度/周期 | 中等 · 1-2 个月 · 成本:技术方案验证文档产出、技术支持工时。 |
| 收费模式 | 按项目交付收取咨询实施费,或按年收取企业级技术支持保障(Support Contract)。 |
| 竞争风险 | Temporal、Zeebe 等竞品生态极强,Baker 知名度受限于 Scala 语言栈与 ING 内部背景。 |
| 依据 | 已验证事实 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2016-12-05,近 30 天仍在推送,发布过 9 个 Release |
| 社区活跃 | Star 361 / Fork 88 / Issue 34(数据支持,可自行核实) |
| 许可证 | MIT |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。