我们的解决思路是使用图引擎来驱动业务逻辑的执行
Posted aiguolove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我们的解决思路是使用图引擎来驱动业务逻辑的执行相关的知识,希望对你有一定的参考价值。
一、关于低代码
低代码是软件系统的快速开发工具,开发者无需编码就可以实现常见的功能、少量代码即可完成功能扩展,从而实现便捷构建应用程序。随着企业数字化需求的快速增长,传统的软件开发方式的低下生产效率,成为制约企业数字化转型的主要矛盾,低代码得到快速发展。相比传统的软件开发模式和工具,低代码的开发门槛更低、研发效率更高;相比其他的快速开发工具,低代码的扩展性更高,可以胜任复杂场景下的核心开发诉求。研发效能也一直是各大互联网企业关注的焦点,随着近几年的探索和发展,市场上出现了众多的低代码平台,低代码也受到了越来越多的关注。
目前业界低代码框架主要解决的是一般领域的通用需求,可以低成本的拖拽组件来打造前后端一体的应用,主要用于 BRM(业务规则管理)、ERP、CRM等系统的快速研发。但是这种方式对专业领域的中后台开发者并不适用,他们面对的是复杂多样的场景,他们专注的问题是如何维护已经达到十万、甚至百万的代码,如何快速迭代、策略优化实现业务可持续增长,如何治理与保障服务的稳定性等等。如果低代码工具只能创建带界面的数据库应用,支持简单工作流场景,并不能给后者带来实际帮助。
搜索中台从业务场景和业务痛点出发,借鉴业界低代码理念,对复杂的后端系统开展了低代码探索和实践之路。工欲善其事,必先利其器,希望通过打造新的生产力工具,更高效地实现产品创新。
二、我们面对的场景
搜索中台为业务提供两种接入方式,一种是使用者以配置化的形式进行定制,之后使用提供的API接口访问中台的能力,另一种是允许使用者以代码开发、部署服务的形式在中台内部系统中进行定制,实现高度灵活的产品逻辑。前者更加接近“无代码”,但是扩展性和灵活性不够,应对的是一般性需求,后者我们在中台系统内提供了应用引擎(以下称Search-AE),业务可以直接入场开发,通过代码实现检索需求定制,满足更加灵活的业务场景。
随着深耕业务场景的规模爆发式增长,大量应用开始涌入 Search-AE,目前已经包含了200+ 独立业务系统。在需求高速迭代、规模快速增长的情况下,效能上面临的问题也越发凸显:
缺少有效沉淀
在 Search-AE 发展之初,各个业务更多的是纵向发展,通用功能很难沉淀,应用之间的能力共享主要通过 copy-paste 来完成,而这些代码在一段时间的迭代后,又会因为一些微不同导致其往各自的方向发展,最终业务之间完全演变成各自独立的系统,本可以复用的能力变的更加难以有效沉淀。
高速迭代下系统的复杂性加大
随着需求的快速迭代,业务系统的代码量和架构复杂度也在快速提升,部分业务代码量级已经发展到数十万级别的规模。同时业务需求又是第一位的,大家都在被需求推着走,开发过程中很难保证对文档做出有效沉淀。接手同学在维护迭代时只能通过大量源码去理解系统,难以保证高效开发。
研发全流程操作繁琐
搜索本身很复杂,尤其在经历过多年的发展后,搜索系统成为链路长、连接复杂的大型分布式系统。环境部署、调试预览等都会对业务研发产生一定的负担。另一方面,研发全流程需要接触不同的工具平台,这些平台没有从全流程的维度去规划设计,它们之间的跳转、使用也会产生学习成本。有一个实际场景的例子:开发一个业务需求,先花一周时间读懂代码评估代码的修改点,再花一周去配置整套环境,还要花一周时间熟悉研发流程中的工具链,而真正写代码可能只需要一天。
总体来看,我们要解决的问题是:如何更快开发——少写代码,更快上手——系统易理解,更快交付——全流程操作简单。
三、思路与目标
业内的一些低代码平台主要聚焦的是前端的场景需求,将页面元素封装成通用组件,使用者拖拽这些组件实现页面形态的定制。搜索中台面对的是中后台场景,但是要解决的问题和思路是非常类似的。从每个业务的实际情况看,虽然最终的检索场景各不相同,但执行的功能流程都有一定的相似性,如果我们把通用的功能抽出来,业务通过组合这些通用能力来满足需求,就可以显著提升效率。同时,这些通用能力是标准化的,业务可以按标准规范进行开发,开发生态易于分享和使用,针对通用算子满足不了的业务场景,大家就会补充更多的通用组件,在下一次类似需求来到时快速满足。
统一业务框架:图引擎 & 图编排
我们的解决思路是使用图引擎来驱动业务逻辑的执行,通用和定制的能力都以算子形式提供,业务则以 DAG 图的形式串联这些算子。图本身没有一套固定的流程,算子间的连接和使用完全由业务场景决定,所以即使是完全差异化的业务都可以使用图引擎来构建系统。并且,图和算子定义了一套标准规范,开发的产品功能都通过算子的形式对外暴露,而算子又是可以插拔的,业务之间都可以方便的拿来复用。
但是,仅仅有图引擎是不够的,我们需要让算子在业务的使用之下快速沉淀起来:业务愿意去共建通用算子,并且这些算子对业务能够充分共享,即大家可以便捷的查看和使用这些通用算子。而使用图编排工具,可以以平台化的形式对这些算子进行呈现,研发同学可以快速的查看所需功能算子,也可以通过可视化拖拽低成本的配置使用。
建设图编排工具还有一个很重要的出发点是:我们希望通过可视化的图帮助开发同学快速的了解业务系统。这个图既是系统的实际运行图,也是帮助快速理解系统的执行流程图。我们使用图编排进行可视化之后,图本身就具备自解释性,研发同学可以在图上补充备注信息,图就相当于和代码同步的天然文档。对有一定规模的业务来说,通过“图文档”理解系统要比读源码理解更快,更加自然易懂。
http://zhidao.baixing.com/question/11570487.html
http://zhidao.baixing.com/question/11570488.html
http://zhidao.baixing.com/question/11570489.html
http://zhidao.baixing.com/question/11570490.html
http://zhidao.baixing.com/question/11570491.html
http://zhidao.baixing.com/question/11570492.html
http://zhidao.baixing.com/question/11570493.html
http://zhidao.baixing.com/question/11570494.html
http://zhidao.baixing.com/question/11570496.html
http://zhidao.baixing.com/question/11570497.html
http://zhidao.baixing.com/question/11570498.html
http://zhidao.baixing.com/question/11570499.html
http://zhidao.baixing.com/question/11570500.html
http://zhidao.baixing.com/question/11570501.html
http://zhidao.baixing.com/question/11570502.html
http://zhidao.baixing.com/question/11570503.html
http://zhidao.baixing.com/question/11570504.html
http://zhidao.baixing.com/question/11570505.html
http://zhidao.baixing.com/question/11570506.html
http://zhidao.baixing.com/question/11570507.html
http://zhidao.baixing.com/question/11570509.html
http://zhidao.baixing.com/question/11570516.html
http://zhidao.baixing.com/question/11570517.html
http://zhidao.baixing.com/question/11570519.html
http://zhidao.baixing.com/question/11570520.html
http://zhidao.baixing.com/question/11570522.html
http://zhidao.baixing.com/question/11570523.html
http://zhidao.baixing.com/question/11570525.html
http://zhidao.baixing.com/question/11570527.html
http://zhidao.baixing.com/question/11570528.html
http://zhidao.baixing.com/question/11570531.html
http://zhidao.baixing.com/question/11570532.html
http://zhidao.baixing.com/question/11570535.html
http://zhidao.baixing.com/question/11570536.html
http://zhidao.baixing.com/question/11570538.html
http://zhidao.baixing.com/question/11570539.html
http://zhidao.baixing.com/question/11570543.html
http://zhidao.baixing.com/question/11570544.html
http://zhidao.baixing.com/question/11570545.html
http://zhidao.baixing.com/question/11570547.html
http://zhidao.baixing.com/question/11570549.html
http://zhidao.baixing.com/question/11570550.html
http://zhidao.baixing.com/question/11570552.html
http://zhidao.baixing.com/question/11570553.html
http://zhidao.baixing.com/question/11570555.html
http://zhidao.baixing.com/question/11571211.html
http://zhidao.baixing.com/question/11571222.html
http://zhidao.baixing.com/question/11571226.html
http://zhidao.baixing.com/question/11571236.html
http://zhidao.baixing.com/question/11571240.html
http://zhidao.baixing.com/question/11571244.html
http://zhidao.baixing.com/question/11571247.html
http://zhidao.baixing.com/question/11571253.html
http://zhidao.baixing.com/question/11571258.html
http://zhidao.baixing.com/question/11571263.html
http://zhidao.baixing.com/question/11571269.html
http://zhidao.baixing.com/question/11571274.html
http://zhidao.baixing.com/question/11571281.html
http://zhidao.baixing.com/question/11571288.html
http://zhidao.baixing.com/question/11571293.html
http://zhidao.baixing.com/question/11571300.html
http://zhidao.baixing.com/question/11571306.html
http://zhidao.baixing.com/question/11571311.html
http://zhidao.baixing.com/question/11571318.html
http://zhidao.baixing.com/question/11571320.html
http://zhidao.baixing.com/question/11571326.html
http://zhidao.baixing.com/question/11571333.html
http://zhidao.baixing.com/question/11571338.html
http://zhidao.baixing.com/question/11571343.html
http://zhidao.baixing.com/question/11571350.html
http://zhidao.baixing.com/question/11571353.html
http://zhidao.baixing.com/question/11571357.html
http://zhidao.baixing.com/question/11571362.html
http://zhidao.baixing.com/question/11571365.html
http://zhidao.baixing.com/question/11571369.html
http://zhidao.baixing.com/question/11571378.html
http://zhidao.baixing.com/question/11571381.html
http://zhidao.baixing.com/question/11571384.html
http://zhidao.baixing.com/question/11571387.html
http://zhidao.baixing.com/question/11571389.html
http://zhidao.baixing.com/question/11571391.html
http://zhidao.baixing.com/question/11571394.html
http://zhidao.baixing.com/question/11571396.html
http://zhidao.baixing.com/question/11571398.html
http://zhidao.baixing.com/question/11571401.html
http://zhidao.baixing.com/question/11571405.html
http://zhidao.baixing.com/question/11571407.html
http://zhidao.baixing.com/question/11571408.html
http://zhidao.baixing.com/question/11571412.html
http://zhidao.baixing.com/question/11571414.html
http://zhidao.baixing.com/question/11571417.html
http://zhidao.baixing.com/question/11571419.html
http://zhidao.baixing.com/question/11571424.html
http://zhidao.baixing.com/question/11571426.html
http://zhidao.baixing.com/question/11571429.html
http://zhidao.baixing.com/question/11571431.html
http://zhidao.baixing.com/question/11571435.html
http://zhidao.baixing.com/question/11571439.html
http://zhidao.baixing.com/question/11571443.html
http://zhidao.baixing.com/question/11571452.html
http://zhidao.baixing.com/question/11571455.html
http://zhidao.baixing.com/question/11571460.html
http://zhidao.baixing.com/question/11571464.html
http://zhidao.baixing.com/question/11571469.html
http://zhidao.baixing.com/question/11571473.html
http://zhidao.baixing.com/question/11571479.html
http://zhidao.baixing.com/question/11571483.html
http://zhidao.baixing.com/question/11571486.html
http://zhidao.baixing.com/question/11571489.html
http://zhidao.baixing.com/question/11571494.html
http://zhidao.baixing.com/question/11571497.html
http://zhidao.baixing.com/question/11571500.html
http://zhidao.baixing.com/question/11571508.html
http://zhidao.baixing.com/question/11571512.html
http://zhidao.baixing.com/question/11571516.html
http://zhidao.baixing.com/question/11571522.html
http://zhidao.baixing.com/question/11571528.html
http://zhidao.baixing.com/question/11571531.html
http://zhidao.baixing.com/question/11571536.html
http://zhidao.baixing.com/question/11571539.html
http://zhidao.baixing.com/question/11571547.html
http://zhidao.baixing.com/question/11571552.html
http://zhidao.baixing.com/question/11571555.html
http://zhidao.baixing.com/question/11571562.html
http://zhidao.baixing.com/question/11571566.html
http://zhidao.baixing.com/question/11571569.html
http://zhidao.baixing.com/question/11571572.html
http://zhidao.baixing.com/question/11571578.html
http://zhidao.baixing.com/question/11571580.html
http://zhidao.baixing.com/question/11571588.html
http://zhidao.baixing.com/question/11571597.html
http://zhidao.baixing.com/question/11571601.html
http://zhidao.baixing.com/question/11571610.html
http://zhidao.baixing.com/question/11571613.html
http://zhidao.baixing.com/question/11571616.html
http://zhidao.baixing.com/question/11571618.html
http://zhidao.baixing.com/question/11571621.html
http://zhidao.baixing.com/question/11571627.html
http://zhidao.baixing.com/question/11571629.html
http://zhidao.baixing.com/question/11571636.html
http://zhidao.baixing.com/question/11571639.html
http://zhidao.baixing.com/question/11571641.html
http://zhidao.baixing.com/question/11571644.html
http://zhidao.baixing.com/question/11571650.html
http://zhidao.baixing.com/question/11571653.html
http://zhidao.baixing.com/question/11571660.html
http://zhidao.baixing.com/question/11571665.html
http://zhidao.baixing.com/question/11571668.html
http://zhidao.baixing.com/question/11571672.html
http://zhidao.baixing.com/question/11571676.html
http://zhidao.baixing.com/question/11571683.html
http://zhidao.baixing.com/question/11571685.html
http://zhidao.baixing.com/question/11571690.html
http://zhidao.baixing.com/question/11571694.html
http://zhidao.baixing.com/question/11571700.html
http://zhidao.baixing.com/question/11571705.html
http://zhidao.baixing.com/question/11571709.html
http://zhidao.baixing.com/question/11571717.html
http://zhidao.baixing.com/question/11571723.html
http://zhidao.baixing.com/question/11571727.html
http://zhidao.baixing.com/question/11571735.html
http://zhidao.baixing.com/question/11571740.html
http://zhidao.baixing.com/question/11571742.html
http://zhidao.baixing.com/question/11571748.html
http://zhidao.baixing.com/question/11571759.html
http://zhidao.baixing.com/question/11571760.html
http://zhidao.baixing.com/question/11571763.html
http://zhidao.baixing.com/question/11571768.html
http://zhidao.baixing.com/question/11571772.html
http://zhidao.baixing.com/question/11571778.html
http://zhidao.baixing.com/question/11571780.html
http://zhidao.baixing.com/question/11571788.html
http://zhidao.baixing.com/question/11571790.html
http://zhidao.baixing.com/question/11571796.html
http://zhidao.baixing.com/question/11571802.html
http://zhidao.baixing.com/question/11571806.html
http://zhidao.baixing.com/question/11571811.html
http://zhidao.baixing.com/question/11571816.html
http://zhidao.baixing.com/question/11571820.html
http://zhidao.baixing.com/question/11571825.html
http://zhidao.baixing.com/question/11571832.html
http://zhidao.baixing.com/question/11571835.html
http://zhidao.baixing.com/question/11571840.html
http://zhidao.baixing.com/question/11571844.html
http://zhidao.baixing.com/question/11571849.html
http://zhidao.baixing.com/question/11571851.html
http://zhidao.baixing.com/question/11571854.html
http://zhidao.baixing.com/question/11571859.html
http://zhidao.baixing.com/question/11571864.html
http://zhidao.baixing.com/question/11571868.html
http://zhidao.baixing.com/question/11571874.html
http://zhidao.baixing.com/question/11571879.html
http://zhidao.baixing.com/question/11571883.html
http://zhidao.baixing.com/question/11571888.html
http://zhidao.baixing.com/question/11571893.html
http://zhidao.baixing.com/question/11571896.html
http://zhidao.baixing.com/question/11571899.html
http://zhidao.baixing.com/question/11571901.html
http://zhidao.baixing.com/question/11571909.html
http://zhidao.baixing.com/question/11571920.html
http://zhidao.baixing.com/question/11571923.html
http://zhidao.baixing.com/question/11571928.html
http://zhidao.baixing.com/question/11571929.html
http://zhidao.baixing.com/question/11571933.html
http://zhidao.baixing.com/question/11571936.html
http://zhidao.baixing.com/question/11571942.html
http://zhidao.baixing.com/question/11571946.html
http://zhidao.baixing.com/question/11571948.html
http://zhidao.baixing.com/question/11571953.html
http://zhidao.baixing.com/question/11571958.html
http://zhidao.baixing.com/question/11571960.html
http://zhidao.baixing.com/question/11571964.html
http://zhidao.baixing.com/question/11571968.html
http://zhidao.baixing.com/question/11571974.html
http://zhidao.baixing.com/question/11571978.html
http://zhidao.baixing.com/question/11571980.html
http://zhidao.baixing.com/question/11571985.html
http://zhidao.baixing.com/question/11571993.html
http://zhidao.baixing.com/question/11571995.html
http://zhidao.baixing.com/question/11571997.html
http://zhidao.baixing.com/question/11572003.html
http://zhidao.baixing.com/question/11572007.html
http://zhidao.baixing.com/question/11572011.html
http://zhidao.baixing.com/question/11572017.html
http://zhidao.baixing.com/question/11572025.html
http://zhidao.baixing.com/question/11572029.html
http://zhidao.baixing.com/question/11572033.html
http://zhidao.baixing.com/question/11572038.html
http://zhidao.baixing.com/question/11572044.html
http://zhidao.baixing.com/question/11572048.html
http://zhidao.baixing.com/question/11572054.html
http://zhidao.baixing.com/question/11572062.html
http://zhidao.baixing.com/question/11572066.html
http://zhidao.baixing.com/question/11572070.html
http://zhidao.baixing.com/question/11572074.html
http://zhidao.baixing.com/question/11572079.html
http://zhidao.baixing.com/question/11572085.html
http://zhidao.baixing.com/question/11572087.html
http://zhidao.baixing.com/question/11572089.html
http://zhidao.baixing.com/question/11572093.html
http://zhidao.baixing.com/question/11572098.html
http://zhidao.baixing.com/question/11572102.html
http://zhidao.baixing.com/question/11572107.html
http://zhidao.baixing.com/question/11572112.html
http://zhidao.baixing.com/question/11572115.html
http://zhidao.baixing.com/question/11572120.html
http://zhidao.baixing.com/question/11572124.html
http://zhidao.baixing.com/question/11572131.html
http://zhidao.baixing.com/question/11572134.html
http://zhidao.baixing.com/question/11572142.html
http://zhidao.baixing.com/question/11572145.html
http://zhidao.baixing.com/question/11572149.html
http://zhidao.baixing.com/question/11572153.html
http://zhidao.baixing.com/question/11572156.html
http://zhidao.baixing.com/question/11572161.html
http://zhidao.baixing.com/question/11572166.html
http://zhidao.baixing.com/question/11572169.html
http://zhidao.baixing.com/question/11572172.html
http://zhidao.baixing.com/question/11572178.html
http://zhidao.baixing.com/question/11572185.html
http://zhidao.baixing.com/question/11572189.html
http://zhidao.baixing.com/question/11572195.html
http://zhidao.baixing.com/question/11572197.html
http://zhidao.baixing.com/question/11572203.html
http://zhidao.baixing.com/question/11572208.html
http://zhidao.baixing.com/question/11572216.html
http://zhidao.baixing.com/question/11572219.html
http://zhidao.baixing.com/question/11572224.html
http://zhidao.baixing.com/question/11572229.html
http://zhidao.baixing.com/question/11572233.html
http://zhidao.baixing.com/question/11572238.html
http://zhidao.baixing.com/question/11572242.html
http://zhidao.baixing.com/question/11572246.html
http://zhidao.baixing.com/question/11572248.html
http://zhidao.baixing.com/question/11572253.html
http://zhidao.baixing.com/question/11572258.html
http://zhidao.baixing.com/question/11572264.html
http://zhidao.baixing.com/question/11572272.html
http://zhidao.baixing.com/question/11572274.html
http://zhidao.baixing.com/question/11572279.html
http://zhidao.baixing.com/question/11572281.html
http://zhidao.baixing.com/question/11572286.html
http://zhidao.baixing.com/question/11572292.html
http://zhidao.baixing.com/question/11572298.html
http://zhidao.baixing.com/question/11572301.html
http://zhidao.baixing.com/question/11572304.html
http://zhidao.baixing.com/question/11572310.html
http://zhidao.baixing.com/question/11572315.html
http://zhidao.baixing.com/question/11572319.html
http://zhidao.baixing.com/question/11572323.html
http://zhidao.baixing.com/question/11572328.html
http://zhidao.baixing.com/question/11572331.html
http://zhidao.baixing.com/question/11572336.html
http://zhidao.baixing.com/question/11572339.html
http://zhidao.baixing.com/question/11572344.html
http://zhidao.baixing.com/question/11572349.html
http://zhidao.baixing.com/question/11572352.html
http://zhidao.baixing.com/question/11572358.html
http://zhidao.baixing.com/question/11572363.html
http://zhidao.baixing.com/question/11572368.html
http://zhidao.baixing.com/question/11572373.html
http://zhidao.baixing.com/question/11572377.html
http://zhidao.baixing.com/question/11572382.html
http://zhidao.baixing.com/question/11572385.html
http://zhidao.baixing.com/question/11572389.html
http://zhidao.baixing.com/question/11572395.html
http://zhidao.baixing.com/question/11572401.html
http://zhidao.baixing.com/question/11572405.html
http://zhidao.baixing.com/question/11572411.html
http://zhidao.baixing.com/question/11572414.html
http://zhidao.baixing.com/question/11572419.html
http://zhidao.baixing.com/question/11572426.html
http://zhidao.baixing.com/question/11572432.html
http://zhidao.baixing.com/question/11572434.html
http://zhidao.baixing.com/question/11572437.html
http://zhidao.baixing.com/question/11572444.html