随笔 26-08-04
前段时间看到了 LLM 的关于 Loops 和 Graph 的讨论。
让我想到了之前的一个类似 Graph 的构思。
上半年,我还没离职,那会正负责公司内部的基础服务的开发维护。
当时,因为想整合多个内部运营平台,统一维护部署,统一资源调度,因此在构思架构。
传统的后端开发,通常以线性的链逻辑组织代码,简单来说,就是 Request -> Middleware -> Controller -> Service -> Repsitory -> Middleware -> Response 这样的流程。
但我觉得这样不太优雅。
加上那段时间离职的同事较多,本身也有了想法,所以就想趁着这个机会,好好的弄一个架构设计。
在我的设想中,系统是基于 Stream 的 Graph 架构,Event 是唯一在 Stream 中流动的数据。
在 Stream 中,分布着多个 Node,每个 Node 都是纯函数,无副作用的,接收指定 Event,并返回新的 Event。
当 Event 传递到 Stream 终点,就视为处理完毕,则返回响应。
接着引入了 Hook 和 Plugin 的概念。
Hook 在 Event 传入传出 Node 前做预处理,并分发调度 Event 到 Node,让 Node 保持纯粹无副作用。
Plugin 则负责扩展 Hook,Node,Event。
看起来挺有想法的,有事件驱动,FFP,Actor,流等概念在内。
但最终因为时间问题没能落地,那会我刚交接完 C 端的工作,正准备搞这些。
结果老板又让我去搞其他基础服务的建设,本来想着挺好的,本身就在搞整合内部系统,多集成一个也没问题。
当时因为要迁移代码仓库到内部 GitLab,还想着说弄公司内部的小 Cloudflare,做自动化部署,项目通知,需求管理,回滚和数据统计等。
但还是时间的问题,搁置了。这一搁置就搁置到我离职了。
本来我是打算呆到下半年再离职的,结果还是不尽人意,提前走人了。
我想按部就班的完成我的目标,可能中间却常常发生变化。
就算命中注定如此,但选择线性还是图表的方式来抵达那天,或许还是可以选择的。