这是一个简单的POC来展示当前“两个世界中最好的”技术组合成一个真正的强大特工夫妻“风格”......
- 使用Camunda定义复杂流程,并利用其流动语言表达能力,可视化功能以及状态的生产/实时监控
- 定义相应的Axon saga来管理消息处理和所需的整个数据处理(例如根据当前的saga状态构造命令)
使用Martin的工作信用卡成功付款
- POST /accounts?name=martin
- POST / payment?account=martin&amount=25
- 请注意日志在saga流程中发生的情况。付款已收到。
- POST / accounts?name = kermit
- POST / payment?account = kermit&amount = 25
- 请注意日志在saga流程中发生的情况。为信用卡收费失败。
- 等一分钟,看看信用卡更新提醒,一分钟后失败
给Kermit一些信用,并成功获得付款,而无需触摸他的卡
- POST / accounts / kermit / credit?amount = 30
- POST / payment?account = kermit&amount = 25
- 请注意日志在saga流程中发生的情况。帐户余额需要超过“付款”金额。
- POST / payment?account = kermit&amount = 25
- 请注意,在日志中检索到5的余额并部分涵盖付款
- 对于剩下的20,信用卡仍然失败。
- 等一分钟,看看信用卡更新提醒,一分钟后失败
- 请注意,日志中将再次恢复5的余额
- POST / payment?account = kermit&amount = 25
- 请注意,在日志中检索到5的余额并部分涵盖付款
- 然而,对于剩下的20,他的卡仍然失败......
- POST / accounts / kermit / updateCard(超时前一分钟!)
- 现在剩下的20个是收费的,付款成功
Saga运营监控
- 现在浏览到http:// localhost:8080并使用User:kermit / Pass:kermit登录
- 点击“Cockpit”进入Camunda的运营监控。
- 浏览到正在运行的流程实例,然后单击“付款”
- 您可以在上面看到saga流程定义
- 使用Kermit的失败信用卡来“实时”查看等待信用卡更新后的正常运行实例