1、smart-flow 简介
smart-flow 是一个轻量、灵活的业务流程编排框架,支持业务流程中常见的条件分支控制、子流程、业务组件异步和降级等功能。同时 smart-flow 也是一款具备可观测性的流程编排框架,流程结构拓扑、执行路径跟踪、链路分析等功能能帮助您洞察整个业务流程和执行。
smartboot 开源组织,一个容易被误认为是在 “重复造轮子” 的低调组织。曾获得 2020 年度 OSC 中国开源项目「优秀 Gitee 组织 」荣誉。
该组织内的明星项目包括:
smart-socket
历时 5 年精炼出 2 千多行代码,轻松实现百万级长连接的 AIO 通信框架。smart-http
基于 smart-socket 实现的 HTTP/1.1 web 服务。smart-servlet
基于 smart-http 实现的 Servlet 3.1 容器服务。smart-mqtt
基于 smart-socket 实现的 MQTT 3.1.1/5.0 Broker&Client 服务。smart-flow
一款具备可观测性的轻量级业务编排框架。组织地址:https://smartboot.tech/
代码仓库:https://gitee.com/smartboot
2、 版本更新
v1.1.1 版本更新内容特性如下:
采样后置过滤
在流程开始执行前,会进行采样判断,但在实际使用中,存在需要分析耗时较长链路的场景。基于此需求,1.1.1版本中新增了采样后置过滤。用户可以根据此功能点决定上报执行耗时较长的链路日志。 更多链路采集上报查看 链路采集上报
例如,执行时间大于500ms的日志进行上报,否则本次采集日志。
reporter.setSampleStrategy(new TraceSampleStrategy() { @Override public <T, S> boolean sampled2(EngineContext<T, S> ctx) { return ctx.escaped() > 500; } });
实时视图
实时视图基于度量数据采集上报的数据,以引擎、版本维度对数据进行聚合,并以图形的形式展示。更多内容查看管理后台
其他更新
- 【优化】spring环境下自定义属性bean名称填写优化
- 【新增】shell支持file执行
- 【优化】g6图形优化
3、如何使用 smart-flow
3.1 源码
-
主仓库:https://gitee.com/smartboot/smart-flow
3.2 Maven 依赖
-
smart-flow-core 核心包,可单独使用
<dependency>
<groupId>org.smartboot.flow</groupId>
<artifactId>smart-flow-core</artifactId>
<version>1.1.1</version>
</dependency>
-
smart-flow-spring-extension spring 扩展
<dependency>
<groupId>org.smartboot.flow</groupId>
<artifactId>smart-flow-spring-extension</artifactId>
<version>1.1.1</version>
</dependency>
-
smart-flow-manager 管理功能包
<dependency>
<groupId>org.smartboot.flow</groupId>
<artifactId>smart-flow-manager</artifactId>
<version>1.1.1</version>
</dependency>
3.3 使用
点击查看快速接入
3.4、示例地址
demo 工程地址
管理控制台体验地址