在业务研发的过程当中去有很多业务需求,简单来概括来说就是一个“多快好省”,多就是丰富变化的业务需求,快速的实现、稳定性、可靠性、高性能,节省资源的成本。
对于这些固有的不可约化的复杂,通过业务体系化进行治理。
主要借鉴的是业界流行的DDD领域驱动的设计,还有一些中台化的思想,对我们的业务进行抽象、沉淀、复用,然后来去进行治理,达到这样一个可持续的发展。
另一方面我们通过星链去进行快速的交付,面向各种类型场景去进行快速交付,同时使得研发人员不需要去关注很多的底层的基础设施。
星链为什么叫一个函数服务?因为它使得用户聚焦在一个函数上,用户函数就是一个业务的逻辑。
星链是可视化的,组件化的并通过低代码开发的函数服务,它的目标是提升场景化的微服务研发效能。
领域微服务是指那些沉淀下来的原子性的微服务;
而场景化的微服务,比如说是面向的人群,它是各种各样的,比如说可能有客服有运营,有产品,有各种各样的这种人群,还有这种介质,比如说有各种的渠道介质,包括比如说我们有APP,可能有小程序有h5,这种渠道的来源可能也有很多;
那么这些各种类型的这种场景我们称之为这种场景化的这种需求,这种场景化的需求非常的多,非常的变化,而且要求非常的快,很多是这种临时性的。那么这些服务更多的它是对已有原子服务的一种组装编排或者是定制,那么去怎么样去快速的来交互这些服务,那么是训练所需要去解决的这样的一个问题。那么我们的方式是一种可视化的组建编排的方式来去开发这些场景化的微服务。
将“场景化微服务”的研发效能提升一个数量级。
以可视化、组件编排方式开发微服务,以声明式进行Serverless部署,实现“快速建场”,满足行业长尾需求。
提升研发工作的抽象层次,可视化、组件化、声明式编程与部署。
提升研发效能、赋能业务创新与增长。
VMS是一个微服务开发和编排的领域模型,内外依赖组件化、配置化,聚焦业务逻辑。
统一的计算模型,既支持传统虚机,也支持K8s。
每个环境(测试、预发、生产)有不同的部署配置,每个环境下可以有多个部署配置,以入口加以区分。
每个入口配置可能包括多个条目,每个条目声明在指定集群分组、部署指定版本、指定实例个数;同一个集群分组可以部署多个不同版本。
微服务架构中很多组件就是为了实现异步,比如Mq,Mq中有很多简单的消息可以放在星链上来做。
一些定时类的微服务只需要在某个时间内执行,那么Serverless的部署可以去节省计算的资源,同时通过配置化的方式开发也比较简单。
除了开发项目,我们还会有一些日常工作要做,比如查看现场运行程序的日志,统计异常原因等,都是可以通过星链来实现自动化排查的。
临时性的业务有很多,比如618备战或者是双11备战,在备战过程当中要做一些数据的大屏展示,这些临时性的通过星链来做。
传统的部署方式,经常要有几百上千台服务器,部署一次就需要几个小时,但是如果在星链上部署基本上是秒级的。因为VMS相对于传统的微服务,它的力度比较小,就是说修改了传统微服务的代码,即使是改了很少的一部分代码,也很有可能对其他的业务产生影响,就是说测试的范围不好把控,但是在星链上因为它的力度比较小,所以是不用担心对其他业务的影响的。
一般的开发流程都是产品和研发讨论需求,研发设计项目,再次讨论需求与设计的契合程度,然后根据需求去实际开发,开发完项目进行测试式样书编写,编写测试项,开会讨论开发进度,等等等等。非常繁琐,如果通过星链来进行统一化视图协作,可以节省很多开会的时间。
比如项目中的一些第三方组件的管理,当进行代码升级的时候,只需一个按键就可以完成组件的升级改造。
星链提供了可视化的界面,支持JavaScript,那么就可以让前端同学去开发后端服务。
触发器、函数、连接器、VMS、环境变量。
这是一个触发器的配置的页面,就是说这是一个HTTP例子,自动生成一个测试,配置上生产环境的链接,部署之后,通过链接就可以直接进行访问,那么其他的像定时任务消息都是通过可视化配置来进行生成的,这是一个DB的连接器,通过可视化的定义一个DB的访问,比如说定义数据源,然后关联数据源,然后定义DB的一些方法,有一个连接器主要是包括一些配置,还有一些方法,这些方法是可以去进行自定义的,那么可以去写一个语句去定义输入和输出。
用户通过统一的Web界面完成可视化微服务(VMS)的开发、调试、构建、测试、部署完整流程,以可视化、组件编排方式开发微服务,以声明式进行Serverless部署,实现“快速建场”,即快速交付BFF、FaaS、服务编排、事件处理等场景化、定制化业务研发需求,降本增效。
上一篇:Java学习路线总结,搬砖工逆袭Java架构师
下一篇:Java基础教程系列