开篇:为什么要从单体转向微服务?
想象一下你经营着一家小饭馆,厨房里一个厨师搞定所有菜品。生意好的时候,一个人忙不过来,你想加人,但厨房就那么大,两个厨师挤在一起反而更慢。更要命的是,这位厨师请假了,整个饭馆就得歇业。
这就是单体架构的困境:
- 代码量巨大,改一行要重新部署整个系统
- 扩展只能整体扩展,CPU 密集的模块和 IO 密集的模块被迫绑在一起
- 一个模块内存泄漏,整个应用崩溃
- 团队协作困难,十几个人改同一个项目,分支合并冲突不断
- 技术栈被锁死,想引入新技术需要对整个项目大改
大约 20 分钟