实战分享:服务可视化编排在交付团队中的真实作用

news2024/11/26 22:50:49

最近有个技术团队的CTO 交流的时候,聊到了逻辑引擎、API服务编排,他很反感逻辑的编排,觉得还不如写代码来得快。

对方是一个小型的交付团队,对方的老板(也稍微懂一些技术,不是很深刻),希望通过快速配置化的方式提升交付效率,降低交付成本,所以当时约了个在线交流,参会的人员除了对方的老板、还有这个CTO 、以及另外一名后端开发人员。

交流的时候发现这个CTO 对配置化有抵触情绪。当然他也提了很多问题,感觉也可能是大家关注的问题,所以我整理出来也给大家分享分享。

交流的主要问题

  1. 引入配置化(逻辑引擎)技术复杂性增加

JVS回复:

业务功能之所以复杂,是因为需求千奇百怪,逻辑引擎(服务编排)的本质,是把原子化的能力封装成标准,通过可视化的画布进行拖拽编排,链接,形成有业务价值的功能串

逻辑可以理解为基础的工具,工具一旦稳定了,很少出错,随着交付的同学写代码的量减少了后,bug 数量会减少,测试、运维的同学会减少,特别是业务逻辑是以图形化的方式呈现,至少会比读代码要简单一些,而且系统上支持 把多个节点分组展示,那么业务逻辑会更简单

2.“这个事儿,我开发的速度比配置的速度快多了”

JVS回复:

逻辑= 触发+原子服务+服务编排 ,触发的方式提供了多种场景,我们把很多基础服务抽象成了一些通用的能力

而且组件库可以通过界面化的方式扩展配置,所以对于交付团队而言,随着原子组件的逐步增加,这个会对行业的能力逐步加强。

这样的思路去下结论, 敏捷化交付能力,更多的是把系统往平台化转变,把定制部分公共化,配置数据化

随着原子组件增多,行业内的能力会越来越丰满,开发难度越来越低,而且速度会越来越快。 逻辑引擎是从降低综合开发工作量的角度来看,提升功能的复用度。

3.代码开发线上处理,很多入参/返回、逻辑判断、遍历、赋值、循环等进驻,可视化处理覆盖不了完全的场景

JVS回复:

  • 编排逻辑,一个接口开发,大致会有,接口的定义(入参、返回、验证、默认值、逻辑判断、循环、异常、赋值)等操作、针对服务编排,基本上就是多个服务的逻辑组合赋值、最终返回符合定义的返回结果,如果把这个过程落到功能上,基本要处理的节点就涵盖开始、接口、循环、逻辑判断、延迟、并行/串行、异常捕获、调试等功能,重点其实就在接口处理层级。

4.性能考虑

JVS回复:

可视化指代的更多是让业务可见,类似于流程图,而且执行的性能和手写的代码运行的效率相差不大,从下图所示

系统提供了逻辑执行的执行监控的多个指标

逻辑引擎在微服务的基础框架上运行,可以对逻辑实现横向扩展,这样对并发效率上也提供了足够的保障。单机500并发压测数据:

5.监控和调试难度

JVS回复:

逻辑支持动态调试与实时发布,一个逻辑被定义配置好了,需要在执行逻辑的同时根据定义部分动态发布可用的接口,与普通的接口相同,也是需要入参、出参等接口定义部分的内容,支持在线的逻辑实时调试与动态发布,调试过程中能查看到每个环节执行的具体情况,可以查看具体执行结果

6.学习曲线是否较低

JVS回复

凡是一般的后端开发人员,在简单的培训(2-3小时)后,可以便捷高效的使用逻辑编排引擎。并且JVS提供了大量的培训文档与培训的操作手册:

培训视频:

分析

API编排或服务编排在当下快速开发的模式下,它们有助于提高服务的模块化、可重用性和灵活性。然而,开发人员有时会对这些概念产生抵触情绪。以下是可能导致这种抵触情绪的一些原因:

部分开发人员对变革的抵触

  • 开发人员可能对新技术或方法持保守态度,尤其是当他们已经习惯了现有的工作方式时。
  • 他们可能担心变革会带来不确定性或额外的压力,对工作的稳定性造成冲击。
  • 引入API编排可能需要改变现有的开发、测试和部署流程,虽然简化了,但是传统的研发方式失效,从开发转向交互,对技术人员的需求门槛大大降低。
  • 管理团队缺乏有效的开发的ROI的考核,决策者对开发的效能缺乏有效的理解与控制

另外,在交流的过程中,还发现除了逻辑的配置,对规则、ETL 也是有一定述求的,JVS是将逻辑、规则、ETL分别作为三个不同的工具,虽然基础的能力相似,但是业务场景不同,所以从体验的角度来看,使用的人群或有不同,所以将三个工具切分开:

规则引擎:

ETL:

在线demo:https://logic.bctools.cn

Java基础框架开源地址:https://gitee.com/software-minister/jvs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2063070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见网络协议汇总(非常详细)从零基础入门到精通,看完这一篇就够了

前言 本篇博客将对基于 计算机网络五层模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理 计算机网络五层模型回顾 应用层:为用户为用户的应用进程提供网络通信服务 协议——DNS协议、HTTP协议、HTTPS协…

浪潮服务器NVME 硬盘通过 Intel VROC 做RAID

INTEL VROC Configuration solution 1.VMD configuration in BIOS Processor > IIO Configuration> Intel(R) VDM Technology> Intel(R) VMD for volume Management Device on Socket 0 “CPU 0”, Intel VMD for volume management device for “PStack0” or “PSta…

fluent UI 中的Combobox如何在option的上面加一个input

fluent UI 9 中的Combobox如何在它自带的input框下面,option的上面,再加一个用于search的input框 会出现一个问题,点击search input框,可以触发input的onClick事件,但是无法获取焦点,焦点还在select的下拉…

龙格-库塔法(Matlab实现)

四阶龙格-库塔法介绍 在各种龙格-库塔法当中有一个方法十分常用,以至于经常被称为“RK4”或者就是“龙格-库塔法”。该方法主要是在已知方程导数和初始值时,利用计算机的仿真应用,省去求解微分方程的复杂过程。 令初…

干货分享|如何使用SD插件进行老旧照片修复上色?

每个家庭都保存着一些温馨记忆的老照片。修复并给老照片上色曾经是一项难度颇大的技术活,现在有了AI技术的加持,使用Photoshop和SD插件,几分钟内就能让那些泛黄老旧的照片焕然一新。 打开一张老照片后按CtrlA快捷键以选取整个画布&#xff…

Linux命令抽象

linux命令都含有一定格式,有具体的语法。我们应用命令时一般需要按语法应用。 有些特殊命令,不遵从通用格式,应用时要格外注意。 命令很多,不需要都记住,但对命令有一个整体的了解,对快速使用命令、找到需…

MySQL运维学习(2):主从复制

1.什么是主从复制 *主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制,从库也可以作为其他从…

Django 集成与扩展:Database Task Queue

文章目录 Django 连接 PostgreSQL安装 PostgreSQL 驱动配置 PostgreSQL 数据库更新 Django 设置确保证书文件的权限测试连接示例:完整的 settings.py 配置注意事项 Django 连接 MySQL安装 MySQL 驱动配置 MySQL 数据库更新 Django 设置运行迁移调试连接问题 Django …

独立站卖家投放Facebook广告的8个建议

在外贸领域,独立站结合Facebook广告投放是一种推动销售增长的关键策略,而结合自动化广告投放工具能使广告投放变得更加高效。以下是一系列针对外贸独立站卖家的Facebook广告投放建议,希望能帮助卖家更有效地利用这一平台,实现营销…

ISO 26262中的失效率计算:IEC 61709-Clause 17_Switches and push-buttons

概要 IEC 61709是国际电工委员会(IEC)制定的一个标准,即“电子元器件 可靠性 失效率的基准条件和失效率转换的应力模型”。主要涉及电学元器件的可靠性,包括失效率的基准条件和失效率转换的应力模型。本文介绍IEC 61709第十七章&…

四川财谷通,信息科技引领者!

在数字化浪潮席卷全球的今天,电子商务作为新经济形态的重要代表,正以前所未有的速度改变着我们的生活方式和消费习惯。四川财谷通信息技术有限公司,作为这一领域的佼佼者,凭借其深厚的技术底蕴与创新思维,在抖音小店这…

机房动环监控系统的主要功能@卓振思众

机房动环监控系统(Data Center Environmental and Monitoring System)是一种用于监测和管理数据中心或机房内部环境和设备状态的系统。其主要目的是确保机房设备在最佳环境条件下运行,从而提高系统的稳定性和安全性。以下是【卓振思众】机房动…

QLibrary的load失败(0x000000c1)

前言 用vs加载dll库是没有问题&#xff0c;移植到qt creator开发却加载失败。 #include <QLibrary>void LoadDll() {QString appPath QCoreApplication::applicationDirPath();QString strLibFile appPath "/Pay.dll";QLibrary *m_pLib nullptr;if (QFile:…

行业标杆 | 澳鹏Appen入选“2024年中国AI基础数据服务研究报告”

AI基础数据服务可加速高质量数据的获取与标注&#xff0c;推动AI算法的创新与持续优化&#xff0c;是AI产业发展的重要支撑。艾瑞咨询近日发布《2024年中国AI基础数据服务研究报告》&#xff0c;深度剖析了当前AI数据行业的挑战和机遇&#xff0c;并前瞻预测了未来趋势。作为AI…

2.3.2存储修改调整

如果使用的是云存储&#xff0c;错误提示&#xff1a;这个点击生成海报&#xff0c;直接提示 二维码生成失败 修改方法路径&#xff1a;crmeb\services\QrcodeService.php 增加代码&#xff1a; (string) 2. 本地存储修改 &#xff1a; //return $this->setError(‘请检…

com.alibaba.fastjson.JSONException: unclosed string : 

场景: 解析json字符串到java对象中报错 FinanceDownLoadFileDto financeDownLoadFileDto JSON.parseObject(line, FinanceDownLoadFileDto.class); 分析: 这不用想,一定是json格式问题 ,但是我去核对了几次文本中的json格式是正确的,因为我是复制粘贴到代码中的,只有考虑是…

“失业程序员跑滴滴求生,意外踏入AI绘画新天地:一个家庭的逆境转机故事“

我叫李明泽&#xff0c;一名在IT行业摸爬滚打多年的程序员。在这个看似光鲜的职业背后&#xff0c;却隐藏着无数的心酸与无奈。曾几何时&#xff0c;我以为我会一直在这个行业稳稳当当&#xff0c;但现实却给了我一记响亮的耳光。 一、就业市场的寒冬 随着互联网行业增速放缓&a…

电脑回收站数据怎么恢复回来 回收站怎么恢复半年前的文件

回收站是电脑一项非常重要的功能。有些小伙伴在操作电脑的时候&#xff0c;可能会不小心将一些重要的文件资料误删除&#xff0c;这些误删除的文件资料&#xff0c;不会彻底的被删除&#xff0c;而是会暂时存储在回收站中&#xff0c;在一定程度上可以保证文件资料的“安全”。…

【机器学习-监督学习】双线性模型

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

UDS 诊断 - ReadScalingDataByIdentifier(按标识符读取换算数据)(0x24)服务

UDS 诊断服务系列文章目录 诊断和通信管理功能单元 UDS 诊断 - DiagnosticSessionControl&#xff08;诊断会话控制&#xff09;&#xff08;0x10&#xff09;服务 UDS 诊断 - ECUReset&#xff08;ECU重置&#xff09;&#xff08;0x11&#xff09;服务 UDS 诊断 - SecurityA…