一、框架篇:盖房子的工具
1. Spring Boot:快速盖房套装
- 干啥用:就像预制板盖房,不用从零开始砌砖,直接搭出基础结构
- 举个栗子:
- 传统Spring像自己搬砖和水泥 → 麻烦
- Spring Boot像给你一套现成墙面+地板 → 装上门窗就能住
2. MyBatis:帮你管仓库的管家
- 干啥用:操作数据库(好比管理仓库货物)
- 优势:
- 普通JDBC像手工记账 → 容易写错
- MyBatis像扫码枪入库 → 自动记录(写SQL但不用管细节)
二、微服务篇:餐厅后厨分工
1. 服务注册发现:电话总机
- 场景:
- 餐厅有炒菜部、面点部、送餐部 → 每个部门都是”微服务”
- 总机(Nacos)知道每个部门的分机号 → 随时联系
2. API网关:前台接待员
- 干啥用:
- 客人点单先到前台 → 接待员检查是否会员(鉴权)
- 再分流到后厨对应部门(路由)
3. 消息队列:外卖订单墙
- 场景:
- 高峰期订单太多 → 服务员把订单贴墙上(Kafka/RabbitMQ)
- 厨师按顺序取单制作 → 防止挤爆
三、数据库篇:不同类型的仓库
1. MySQL:大货架仓库
- 特点:
- 货架整齐(表结构固定)
- 适合存商品信息、订单记录
2. Redis:临时储物柜
- 特点:
- 存经常要拿的东西 → 比如验证码(5分钟有效)
- 超快存取但空间小 → 不能当主仓库
3. Elasticsearch:智能搜索引擎
- 场景:
- 像图书馆电脑 → 输入关键词秒查书籍位置
- 比手动翻MySQL快10倍
四、运维篇:后厨监控系统
1. Docker:打包餐盒
- 干啥用:
- 把菜+餐具打包成盒饭 → 在哪打开都能吃(环境一致)
- 避免”我电脑能运行,服务器报错”
2. Kubernetes(K8s):自动调度机器人
- 场景:
- 中午突然来100单 → 自动召唤10个炒锅(扩容)
- 下午闲了关掉8个(缩容)
五、开发日常:程序员的一天
早上任务:开发新功能
- Spring Boot脚手架 → 快速建新项目(像开连锁店模板)
- MyBatis写SQL → 从数据库拿数据(查库存)
- Redis存缓存 → 把热销商品信息放缓存(不用每次都查库)
下午联调:和其他系统对接
- Feign调用其他服务 → 像打电话给支付系统:”用户付钱了吗?”
- Sentinel限流 → 人太多时挂”暂停取号”牌子(防止系统崩)
晚上上线:运维操作
- Docker打包 → 把代码+环境塞进集装箱
- K8s部署 → 集装箱扔上货轮(服务器集群),自动分配位置
六、技术怎么选?(小吃店版)
-
小摊阶段(初创公司):
- Spring Boot单机版 + MySQL → 一个炒锅搞定所有
-
连锁店阶段(中型企业):
- 拆微服务:订单服务、支付服务分开 → 像分设收银台和后厨
- 加Redis缓存:预炸鸡块,客人点了马上装盒
-
全国餐饮集团(大厂):
- 用Kafka处理百万订单 → 全国订单统一调度
- ES搜索所有分店数据 → 老板随时查销售报表
七、学技术的秘诀
- 先学炒菜(Spring Boot) → 能做出完整项目
- 再学分工(微服务) → 理解怎么团队协作
- 最后学管理(运维) → 保证出菜不翻车