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层前后端还不好直接调试。
感觉还是经验太少了,很多地方都过度设计了,希望能找到相关的资源,学习学习应该要怎么样重构
4
2
分享
操作
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
