软开实训心得
本文分享了作者在墨吟系统后端开发实训中的成长历程。从单体架构到微服务拆分的实践,体验了Docker容器化部署的便利性,并运用阿里云等云服务实现低成本高效开发。文章重点探讨了Agent开发与RAG的区别联系,以及DeepSeek API在实际应用中的优势。作者通过AI辅助编程显著提升效率,同时反思了微服务进阶学习、工作流引擎实践等未来发展方向。全文记录了从架构设计到部署上线的完整经验,展现了后端开发
墨吟系统后端开发实训心得:从单体到微服务的成长之路
这一周负责墨吟系统的后端开发,收获满满。后端终于部署上线,特此记录自己的成长与思考。
初识微服务:从单体到拆分
刚开始开发时,我仍然沿用熟悉的单体架构思路,使用 MySQL + MongoDB + Redis 三件套。后来随着功能模块增加,自然而然走上了服务拆分之路——这才意识到,原来这就是微服务。
微服务本质上是将单体应用拆分为多个独立运行的项目,每个项目作为一个独立进程,通过网络 API 进行通信。它的优点很明显:某个服务出问题不会导致整个系统崩溃;维护更新也更灵活,无需重启整个应用。
当然,微服务更适合大型系统。对于开发人员来说,核心还是单体开发能力,微服务更多是一种架构选择。不要过分神话它——它不只是拆分那么简单,还有一系列待解决的问题,比如服务发现、链路追踪等,这些都是我目前还没接触到的场景。
这次我将 AI 问答模块单独拆成了一个服务,因为它相对独立,包含了问答、资源推荐、会话管理、多模态输入等功能。其余 CRUD 模块则放在另一个管理服务中。
拆分过程遇到了不少问题,最头疼的是包路径和 Dockerfile 编写。常常出现镜像构建失败,或者运行时报错找不到模块。最后摸索出的解决方法是:在微服务中使用绝对导入路径,例如 from service.package.file import object,并且让 AI(尤其是 Deepseek)根据项目结构、配置文件(settings、.env)和服务器环境来协助编写 Dockerfile 和 yaml 文件。
小结:没有完美的架构。微服务是大型系统为了便于维护的“无奈之举”,小型项目用单体反而更快、更简单。
Docker 初体验:容器化真香
之前部署项目,要手动拉代码、装环境、配中间件,过程繁琐还容易出错。这次用 Docker 容器化部署,体验完全不同。
只要提前整理好项目结构,把配置写进配置文件(避免硬编码绝对路径),写好 Dockerfile 和 docker-compose.yaml,到服务器上拉取代码,执行构建和启动命令,部署就完成了。如果开发时就把项目打理清楚,部署可能只需几分钟。
中间件也不用单独安装,所有配置都是相对的,.env 里的 IP 地址直接用容器名代替。建议写两套配置:一套开发用,一套部署用,这样既能本地调试,也能快速上线。
拥抱云原生:低成本、高效率
这次用到了不少云服务:
- DeepSeek API:价格亲民,十块钱能用很久,开发完全够用。
- 阿里云 OSS、OCR + 腾讯云语音识别:调用方便,功能稳定。
- 阿里云服务器:对学生和个人开发者非常友好。之前花四百块买了半年天翼云,现在阿里云 2G 内存的服务器一年才 80 块,性价比很高。
阿里云还支持在购买时直接选择用 Docker 还是宝塔面板管理中间件,这次我顺利用上了 Docker。
部署过程虽然也踩了坑:改代码 → 推仓库 → 拉取 → 构建 → 启动 → 看日志报错 → 再修改……循环了好几次,但每次都能通过查看 Docker 日志和借助 AI 快速定位问题,这多亏了 Docker 的标准化和可重复性。
另外,阿里云的域名服务也很省心,购买、备案、绑定 IP 一条龙,对新手非常友好。
Agent:让 AI 不仅能回答,还能做事
之前做 RAG(检索增强生成),这次老师要求开发 Agent,两者既有区别也有联系。
Agent 本质上是通过编程组织一系列工具(API、函数、数据查询等),让 AI 不仅能回答,还能执行具体任务。比如你可以让 AI 查天气、订机票、帮你写文章——当它调用外部功能时,往往就是触发了 Agent 机制。
为什么说 Agent 也用到了 RAG 思想?因为 Agent 同样可以通过查询接口获取系统数据,这本身就是一种“检索”。把这些数据作为 Prompt 的一部分输入模型,再让模型基于此作出决策或执行动作,这个过程和 RAG 很相似。
我对“豆包”这类 AI 产品的理解也更深了:未来 Agent 会越来越普及,成为人机交互的重要方式。
DeepSeek API:真正好用的模型
之前用其他开源模型做 RAG,效果总差强人意。这次换用 DeepSeek,明显感受到差距:即使 Prompt 很长、约束很多,它也能很好理解并执行。
AI API + 精心设计的 Prompt ≈ 一个“智能函数”。比如从一段话中提取核心关键词、总结段落大意,传统方法可能需要复杂的规则或枚举,效果有限。而通过 Prompt 约束调用 AI API,虽然响应慢一点(几秒钟),但效果准确得多,真正做到了理解语义。
AI 辅助编程:效率提升利器
这次大部分代码都是靠 AI(尤其是豆包)生成的,我只是做整合和微调。对于这种中小型项目,AI 辅助编程已经完全够用,大大提升了开发效率。
遗憾与展望
- 微服务:还想更深入学习服务治理、链路追踪等进阶内容。
- Workflow:希望有机会实践一下工作流引擎的设计与实现。
- AI 编程工具:想试试 Cursor、Trelis 这类能直接操作代码文件的 AI 工具,进一步提升开发体验。
这一周的实训,从架构选型到部署上线,从工具使用到底层思考,每一步都是成长。继续积累,继续向前。
本博客为个人实训心得记录,如有理解不到位之处,欢迎交流指正。
更多推荐


所有评论(0)