LiteFlow LiteFlow
💒首页
  • v2.13.2(当前版本)
  • What's New

    • 🌈What' s New In LiteFlow v2.13.2?
  • 历史版本

    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 🌈2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
👑LF CLUB社区
  • 常见问题
  • 专题解释

    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念,在框架中起到什么样的作用?
💖赞助
🧩插件
🔥PPT
  • 项目介绍
  • 项目成员
  • 更新记录
  • 参与开发
👥加入群聊
🧤谁在使用
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
💒首页
  • v2.13.2(当前版本)
  • What's New

    • 🌈What' s New In LiteFlow v2.13.2?
  • 历史版本

    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 🌈2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
👑LF CLUB社区
  • 常见问题
  • 专题解释

    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念,在框架中起到什么样的作用?
💖赞助
🧩插件
🔥PPT
  • 项目介绍
  • 项目成员
  • 更新记录
  • 参与开发
👥加入群聊
🧤谁在使用
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 🌈What's New In LiteFlow v2.13.2?
  • What's New In LiteFlow v2.13.1?
  • What's New In LiteFlow v2.13.0?
  • What's New In LiteFlow v2.12.4?
  • What's New In LiteFlow v2.12.3?
  • What's New In LiteFlow v2.12.2?
  • What's New In LiteFlow v2.12.1?
  • What's New In LiteFlow v2.12.0?
  • What's New In LiteFlow v2.11.4?
    • 介绍
    • 重写了声明式的部分
    • 解决了并行线程池的性能问题
    • 并行线程池隔离BUG的修复
    • 增加映射关键字SER和PAR
    • CmpStep中加入startTime和endTime
    • 加入了快速解析的参数
    • Nacos配置模式新增对阿里云MSE的鉴权方式
  • What's New In LiteFlow v2.11.3?
  • What's New In LiteFlow v2.11.2?
  • What's New In LiteFlow v2.11.0?
  • What's New In LiteFlow v2.10.6?
  • What's New In LiteFlow v2.10.5?
  • What's New In LiteFlow v2.10.2?
  • What's New In LiteFlow v2.10.1?
  • What's New In LiteFlow v2.10.0?
  • What's New In LiteFlow v2.9.7?
  • What's New In LiteFlow v2.9.6?
  • What's New In LiteFlow v2.9.5?
  • What's New In LiteFlow v2.9.4?
  • What's New In LiteFlow v2.9.3?
  • What's New In LiteFlow v2.9.1?
  • What's New In LiteFlow v2.9.0?
  • whats new
铂赛东
2024-01-15
目录

What's New In LiteFlow v2.11.4?

# 介绍

2.11.4经历了BETA1,BETA2,BETA3版本之后,正式版发布!

2.11.4总共有18个issue的更新,绝大多数为增强类issue。在这个版本中,我们优化了底层,着重优化了性能。也提供了一些小特性的升级。

强烈建议还在用2.11.3版本的同学进行升级。

接下来挑几个更新的增强来详细说下。

# 重写了声明式的部分

此增强issue困扰我半个多月,一直以来,LiteFlow声明式的底层代码比较混乱。不太好阅读,而且始终会在一些边缘场景莫名其妙的出问题。我一直想对其进行重写,这个版本,我阅读了大量了spring bean构造的底层代码,终于在底层实现了更加优化的改造。改造之后的声明式底层代码更加合理,结构层次也更加清晰,应该会摆脱一些边缘场景的问题。

改造之后的使用方式同之前一致,用户并不会感知到。

只是为了说明下,我们对底层代码是有追求的,并会为了追去极致的代码优雅而去不停努力。

希望你们去使用LiteFlow,因为LF正在变得更强大。

# 解决了并行线程池的性能问题

源于社区的小伙伴在落地LF时发现,第一次请求会比后面的请求慢上一些。社区小伙伴也进行排查,发现LF是第一次请求时去初始化并行线程池,并报上了issue。

这里确实是之前的版本没考虑周全,这一次,我们修复了这个问题。之后所有的线程池的初始化全都在启动时进行,包括用户自定义的线程池,也是如此。

# 并行线程池隔离BUG的修复

在2.11.1版本中曾经推出了并行线程池的隔离特性,旨在对一些并行分支非常多的进行线程池的隔离,以达到优化性能的目的,没想到这个特性一直存在BUG。这次我们也深度进行了排查,并修复了这个问题。

# 增加映射关键字SER和PAR

曾经有一个issue我还记得,说是LF中的THEN和WHEN是表示串行和并行的意思,但是关键字意义却不精准。

虽然我承认THEN和WHEN表示串行和并行的确有些牵强,但是LF用户一直这么用,突然改变最主要的关键字也不太好。

所以这次新推出了SER和PAR关键字,等同于THEN和WHEN。当然继续使用THEN和WHEN也是可以的。

# CmpStep中加入startTime和endTime

以前的CmpStep提供了耗时,但是没有组件的执行时间参数,这次提供了startTime和EndTime。

# 加入了快速解析的参数

这个增强,也是源于社区内的一位落地的小伙伴,他和我说项目内有几万的流程。启动耗时非常久。

详细分析原因后,发现是LF的CopyOnWriteHashMap比较慢的缘故,当初用这个是为了平滑更新的因素。

所以,2.11.4版本推出了liteflow.fast-load参数,当这个参数为true时。那么启动解析的速度回提升4到5倍。

我也进行了测试,1w条流程(每个流程均有14个组件)耗时3秒,这个解析是线性的。所以在配置了这个参数后,解析速度还是可以接受的。

但是我并不推荐所有的人把快速load模式打开,因为快速load模式牺牲了热更新时的平滑性。换句话说就是,在正常模式下,如果当你热更新时正好有正在执行的流程,那么正在执行的流程是会用老的链路的,只有下一次才会用最新的链路。如果你打开了快速load模式,那么在热更新时,正好在执行过程中的流程有可能前半部分是老的流程,而后半部分有可能读到新的流程。这样就造成了不一致了。

当然这种场景是非常极端的场景,在普通的场景中,可能根本也不需要保持热更新时的平滑性。所以fast-load模式是有代价的。鱼和熊掌不可兼得。看项目要求了。

# Nacos配置模式新增对阿里云MSE的鉴权方式

新版本的LiteFlow在Nacos层面可以支持阿里云的MSE鉴权方式了。

只需要这么配置就行了:

liteflow.rule-source-ext-data={\
    "serverAddr":"127.0.0.1:8848",\
    "dataId":"demo_rule",\
    "group":"DEFAULT_GROUP",\
    "namespace":"your namespace id",\
    "accessKey":"xxxxxxxxxx",\
    "secretKey":"xxxxxxxxxx"\
}
帮助我们改善此文档 (opens new window)
上次更新: 2024/01/15, 15:55:23
What's New In LiteFlow v2.12.0?
What's New In LiteFlow v2.11.3?

← What's New In LiteFlow v2.12.0? What's New In LiteFlow v2.11.3?→

Theme by Vdoing | Copyright © 2020-2025 铂赛东 | MIT License
沪ICP备18012955号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式