全生命周期的低码方案

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 全生命周期的低代码方案 叶鑫林 - ryan 腾讯 数据产品开发组 负责人
2.
3. 西电 腾讯 设计、企业IT、安全、数据 技术栈 大数据、后台、前端 低代码 OTeam PMC、《腾讯低代码企业标准》 项目 腾讯问卷、光谱、天眼、安全中心研发平台 叶鑫林 - Ryan 当前 一站式数据平台
4. 前言:关于今天的课题 架构 M2 M1 协作的思想 M3 《低代码企标》 text
5. • 全生命周期的低码方案简介 • 技术架构介绍 • 落地实践 • 总结展望
6. 1.1 低代码可以做什么? 逻辑可视化 UI可视化 form chart table 规则引擎 UI平台
7. 1.2 全生命周期的低代码方案 数据处理 SELECT * 接口 逻辑可视化 UI可视化 form gateway FROM table chart WHERE condition=... table 数据平台 微服务 规则引擎 调度与部署 UI平台
8. 1.3.1 低代码要解决的业务问题 需求:统计某业务的全国各城市登陆人数,并提供一个可检索的页面 传统流程:数据开发->后台开发->前端开发 低代码流程: 数据平台 SQL完成数据统计 逻辑可视化 配置可检索接口 如何让非开发人员,独立完成配置? UI可视化 配置可交互页面
9. 1.3.2 低代码的痛点 数据平台 SQL完成数据统计 日志记录的是IP 目前要按城市计数 SQL无法处理复杂逻辑 逻辑可视化 配置可检索接口 配置接口 库?账号?密码? 表名?字段?类型? Ctrl+C Ctrl+V 还是给开发提需求 比较简单 UI可视化 配置可交互页面 接口地址? 请求方式是什么? 参数是什么? 返回是什么? Ctrl+C Ctrl+V
10. 1.4.1 step1 使用SQL统计数据 数据平台 SELECT * FROM table 我们需要 更强大的SQL SELECT count(*), udf_ip_2_city(ip) FROM login_table WHERE condition=... Metadata result_table • count • city
11. 1.4.2 step2 快速生成查询接口 数据平台 Metadata SELECT * result_table FROM table • count • city WHERE condition=... 微服务 gateway Mock @url get_city_data @input city string 城市 @output list CURD还要开 发接口? 微服务 gateway 规则引擎
12. 1.4.3 step3 接口+页面的快速配置 配置前端靠 Ctrl c+v? 微服务 gateway Mock UI平台 @url get_city_data form @input city string 城市 chart @output list table
13. 我们要解决的3个问题 我们需要 更强大的SQL CURD还要开 发接口? 配置前端靠 Ctrl c+v?
14. • 全生命周期的低码方案简介 • 技术架构介绍 • 落地实践 • 总结展望
15. 2.1 架构概览 UI平台 FORM TABLE CHART 自动 配置 数据平台 视图 Metadata select api(xxx) from table UDF Mock 规则引擎 自动 组件 微服务 CUR D 自动 注册
16. 2.2.1 联动的设计理念—协议 Metadata mock 存储 type、host、port、user、password、db 表 字段 存储类型 字段抽象 openid string 账号 reason string 渠道 money_type int 代币类型 output bigint 数量 #各城市登陆统计表查询 POST /get_city_login_count INPUT { date #统计时间 city #城市 page #翻页参数 … } OUTPUT { code: 0 #状态码 data: }
17. 2.2.2 什么是Mock MockServer 前端 后台 接口请求 请求拦截 Mock Data 如何收集? Mock CGI mock Mock Data 接口响应 模拟返回 Mock的应用场景:开发联调、单测 CGI
18. 2.3.1 一切皆微服务 微服务网关 开发者API 通用API(CURD) Mock Server 第三方API对接
19. 2.3.2 微服务自动注册mock Client mock 1: input Gateway Doc server 2: input 4: output Mock Server 5: input + output + doc 3: output #IP转城市 POST /ip/ip_2_city INPUT { ip: “1.1.1.1” #IP } OUTPUT { data: “深圳” #城市 code: 0 #状态码 } tips Gateway: 抽样上报、增 量上报、异步上报 MockServer:多版本控 制、覆盖策略
20. 2.3.3 MockSever设计 input http header match output unmatch mock doc ""” 数据源分页搜索 @ param data_source_type String 可选 数据源类型 data_source_name String 可选 数据源名称 created_by String 可选 创建者 created_start String 可选 创建开始时间 created_end String 可选 创建结束时间 page_size Int 必选 分页每页大小 page_index Int 必选 分页页码 @ return created_at 创建时间 updated_at 更新时间 空格分割 description 描述 关键词 … 替换 """ match unmatch update #TITLE method url INPUT { input } OUTPUT { } output titile 数据源分页搜索 url /data/get_source_list method 请求字段 GET 路径 biz_id … 返回字段 同服务 单词库 路径 result created_at … data[*]. created_at 类型 说明 int 业务ID 类型 说明 bool 结果 string 创建时间 http header
21. Mock Data 如何收集? 通过统一网关的自动采集,所有接口我们都“了如指掌” 下一步,Mock还能做什么? 我们需要 更强大的SQL CURD还要开 发接口? 配置前端靠 Ctrl c+v?
22. 2.4.1 常规的 SQL UDF 实现 UDF 全称为 User Defined Function, 即用户自定义函数 UDF代码包 myfun(a, b){ return a+b SELECT 注册 SQL执行引擎 } 执行 myfun(a, b) FROM table UDF 注册过程 微服务?
23. 2.4.2 SQL+微服务 mock #IP转城市 POST /ip/ip_2_city INPUT { ip: “1.1.1.1” #IP } OUTPUT { data: “深圳” #城市 code: 0 #状态码 } 微服务 gateway SELECT count(*), udf_ip_2_city(ip) FROM login_table url、method、param、return HTTP 电光火石:4步点击注册UDF 拒绝繁琐的UDF开发过程
24.
25. 2.4.3 SQL+微服务的加速调用方案 异步请求 1 1 2 同步请求 1 2 3 并行度提升 微服务 1 2 2 微服务 中间结果生成 重新分区,提升并行度 1、UDF注册 Task1 分片1 2、SparkSQL执行 3、标记UDF字段 (伪执行) 4、输出中间结果 异步真实请求 Task2 分片2 缓存策略 限流、排队 Task1 分片1 Task2 分片2 Task3 分片3 SparkSQL UDF架构——提升请求效率与成功率 MapPartitions 异步http请求
26. 我们要解决的3个问题 我们需要 更强大的SQL SQL+微服务 UDF快捷注册 UDF异步调度加速 CURD还要开 发接口? 配置前端靠 Ctrl c+v?
27. 2.5 根据Metadata生成CURD接口 Metadata create 存储 type、host、port、user、password、db 表 字段 存储类型 字段抽象 date string 时间 city string 城市 count int 登陆人数 update read delete mock #各城市登陆统计表查询 POST /curd/1000/read INPUT { date #统计时间 city #城市 count #登陆人数 } OUTPUT { code: 0 #状态码 msg: ’’#返回说明 } 微服务 APIJSON CURD方案选型:APIJSON 腾讯开源零代码接口和文档 ORM 库 1. 文档自动化 2. 接口自动化 3. 多语言支持
28. 2.6.1 规则引擎设计 BPMN2.0协议 实时异步双引擎 清洗 组件 微 服 务 代码 节点 以微服务对外
29. 2.6.2 规则引擎架构图 异步接入层 同步接入层 高/低优先级 队列 网关 任务生产者 版本管理 任务消费者 同步引擎 异步引擎 组件库 在线调试 Pipeline Parser Mock Server 组件 注册 凭证中心 微服务 DB / Cache 日志 采集 版本管理 运维 监控
30. 2.6.3 规则引擎基于Mock自动注册组件 所有微服务接口 自动注册为组件
31. 2.6.4 规则引擎生成最终查询接口 mock 如:时间校验 参数校验 权限校验 CURD接口 调用 错误返回 #各城市登陆统计表查询 POST /get_city_login_count INPUT { date #统计时间 city #城市 page #翻页参数 … } OUTPUT { code: 0 #状态码 data: { list: [] page: }#统计列表 }
32. 我们要解决的3个问题 我们需要 更强大的SQL CURD还要开 发接口? SQL+微服务 APIJSON UDF快捷注册 通用CURD接口 UDF异步调度加速 规则引擎编排 配置前端靠 Ctrl c+v?
33. 2.7.1 UI平台设计 Form Form Form Table Chart 页面逻辑配置 Table Chart Table Chart Mock快捷配置 组件库 value、width … http、onclick … 拖拉拽可视化配置 ${ID1} 属性 系统 事件 组件实例 ${ID} 自定义 事件 onclick ${ID2} Mock预览 / 实时预览 / 一键部署 逻辑配置模型举例 Mock Server http ${ID2} value
34. 2.7.2 微服务接口与UI平台 1、请求地址:url 2、请求方式:method 3、上报参数:param 4、表格输出 (字段名、中文名) mock #各城市登陆统计表查询 POST /get_city_login_count INPUT { date #统计时间 city #城市 page #翻页参数 … } OUTPUT { code: 0 #状态码 data: { list: [] page: }#统计列表 } UI可视化 form chart table UI平台 一键补齐 配置再次提速
35.
36.
37. 我们要解决的3个问题 我们需要 更强大的SQL CURD还要开 发接口? SQL+微服务 APIJSON UDF快捷注册 通用CURD接口 UDF异步调度加速 规则引擎编排 配置前端靠 Ctrl c+v? Mock一键配置 Mock实时预览
38. 2.8 回顾一下我们的需求 需求:统计某业务的全国各城市登陆人数,并提供一个可检索的页面 数据平台 SQL完成数据统计 SQL+微服务 覆盖数据生产到运营系统 逻辑可视化 配置可检索接口 UI可视化 配置可交互页面 配置自动化 接口自动化 SELECT udf_ip_2_city(ip) as city, count(distinct(openid)) as user_cnt FROM .. GROUP BY city 产品也能自己搞定 规则引擎对CURD[通过metadata自动生成]接口进行编排[可选] UI平台通过Mock一键生成表格
39. • 全生命周期的低码方案简介 • 技术架构介绍 • 落地实践 • 总结展望
40. 客服系统 运维安全SOAR “道具/代币补发功能自助开发” “运维风险自动收敛” 光谱:游戏经济系统监控 天眼:内部安全监控 3000个任务 1000个接口 200个模板 600个页面 数据处理 接口 逻辑可视化 UI可视化 SELECT * form gateway FROM table chart WHERE condition=... table 数据平台 微服务 规则引擎 UI平台
41. • 全生命周期的低码方案简介 • 技术架构介绍 • 落地实践 • 总结展望
42. 4.1.1 总结 / 平台间的协作协议流转 规则引擎 数据平台 SELECT * FROM table 1 WHERE condition=... Metadata 4 2 5 微服务 gateway 3 6 Mock 7 UI平台 form chart table
43. 4.1.2 总结 / 通过 Metadata & Mock 的自动注册,各子系统相辅相成 UI平台 FORM TABLE CHART 自动 配置 数据平台 视图 Metadata select api(xxx) from table UDF Mock 规则引擎 自动 组件 微服务 CUR D 自动 注册
44. 4.2.1 展望/低代码平台层出不穷,我们需要规范 《腾讯低代码企业标准》架构图
45. 4.2.2 展望/低代码生成运行架构 《腾讯低代码企业标准》生产运行架构图
46. 4.2.3 展望/DSL与Schema 《腾讯低代码企业标准》DSL转换Schema示意图
47. 4.2.4 展望/行业统一的DSL 平台A DSL 平台A 平台B 平台B Schema 迁移难,平台绑架产品? 产品 通用语言,各低码平台相互兼容 产品打包带走,更健康的低代码生态 产品 产品
48.
49.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.3. UTC+08:00, 2024-11-25 09:40
浙ICP备14020137号-1 $访客地图$