-
Couldn't load subscription status.
- Fork 2.3k
Open
Labels
Description
Description
@TommyLemon
功能描述:
一个服务编排的伪码流程设计
将伪码转换为 apijson json、前置、后置函数、javascript、redis、elasticSearch等
并且能够mork每一步,执行中间流程,还能查询每个阶段执行的sql语句,及结果.
json格式:
{
"@transaction": true,
"id@-()": "getCurrentUserId()", // 前置函数
"@post": [
"xxx"
],
"xxx": {
"@method": "xxx",
"@version": "", // 版本,控制校验
"@datasource": "" // 数据源相关配置
// 分表规则等,后面再说
}
"@explain": true
}1、独立定义一个url method, 通过解析不同method执行不同流程
和已有method区分开,避免歧义
2、最外层新增传参 "transaction": true 来指定开启事务
3、控制每条语句的数据源
4、完善 “@Explain"
如果没有执行计划,则返回sql语句. 能够在 reponse返回值中, 看到json中执行的每条sql,方便排错
5、@Version支持
定义不同场景的 新增、修改、删除等执行规则. 请通过version版本区分
6、前置函数
- 要能拿到其他数据源
- 能拿到json执行过程中的数据
- 拿到当前数据源(和外部json一个事物执行)
- 从数据库/或其他数据源 查询获取对照关系
组装数据, 调用对应数据源的api方法执行即可 - 前置函数,能调用其他函数
把一些计算, 执行,计算 等 放到一个函数进行整合
还没细化
7、支持mork
通过伪码,分解为不同 阶段 的json语句执行
测试点:
1、测试 一个json多条语句,后置函数啥时候执行
2、操作其他数据源, 事物是json执行完才会提交, 需要保证一致性
3、redis、elasticSearch、javascript、lua等功能测试
TommyLemon