千寻
27届,梦想做一名全栈工程师
·2025-12-07
学习打卡day6: 忘打卡了,补一下前两天的卡。。。。 1. 单词 * 60 2. 编译原理第3章 3. 计算机图形学作业 4. 中级实训项目:对接oss云存储 实训项目做的实际上就是一个协作知识库,可能会结合一些AI能力比如RAG。 但是架构上和一个在腾讯实习的舍友模仿着大厂的方式搞的很复杂。。。 整个系统被我们拆成了 前端 + node BFF + grpc后端 前端用monorepo,目前拆分为了两个 app,一个是auth部分,做成所有app可以复用的单点登录模式,存储用户基本信息,另一个就是知识库app,后面可能会上管理端的app。 后端也由此暂时拆成了auth_service和wiki_service,一开始是和前端直接HTTP通信。 但是由于后端微服务间独立,有些用户信息在auth_service里面,必须从wiki_service拿,于是我们就加了一层node BFF,所有前端请求打到node网关,由node网关再去从不同的微服务间拼数据。 node BFF和go用grpc进行通信,又加多了一个proto仓库来约定字段,写了一个proto的转译工具,支持一键拉取特定分支并转译为ts/go代码。 虽然说整体流程和自己在公司的时候很像了,但是发现好像不知道为什么要这么搞,好像一开始就没怎么好好设计,wiki_service包含了模块、文章、评论管理等等的所有部分,导致现在 BFF 层实际上对于大部分请求只是直接透传,失去了微服务聚合的价值,而为此还要从 router, controller, service写3~4层的样板代码,导致开发调试效率效率极低。。。。。一开始用rpc是为了想着提升性能,但是现在加了个node层也不知道实际性能究竟有没有收益。现在本地开发,前端2个端口,node2个端口,后端又2个端口,而且加了个node层前后端还不好直接调试。 感觉还是经验太少了,很多地方都过度设计了,希望能找到相关的资源,学习学习应该要怎么样重构
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP