我们原本的API服务是PHP写的,日均请求10万左右,用着还行。但最近业务增长,日均到了50万请求,PHP扛不住了。
于是决定迁Go。
【迁移过程】
- 第1周:熟悉Go语法,搭项目骨架
- 第2-3周:迁移核心API(20个接口)
- 第4周:测试+上线
【踩的坑】
1. Go的错误处理太原始了,if err != nil写到崩溃。后来用了一个错误封装库
2. 部署和PHP不一样,PHP改完文件直接生效,Go需要编译
3. 数据库连接池没配好,上线第一天炸了,排查了3小时
【性能对比】
迁移前(PHP 8.0):4台4C8G,CPU经常90%+
迁移后(Go):2台2C4G,CPU常年低于30%
建议:如果团队有PHP技术积累,不要盲目转Go。PHP+Redis缓存+数据库优化,也可以扛到百万级请求。