akaHenry
2022-03-03 16:09:30 +08:00
> 正经解决:
1. 接手项目, 老代码不要改设计. 可以重构, 但没必要. 先做隔离.
2. 新增代码, 拆分微服务. 跟老代码切分开. 新 /旧服务通信走 HTTP rest API or gRPC. 不要产生内部模块代码依赖.
3. db 新表设计, 禁止使用物理外键. Django 这种东西. 不适合做伤筋动骨的改造. 徒劳.
4. 关于性能上, Python+Django+Celery+RabbitMQ+Gunicorn 全套打完, 如果还不行. 就老老实实切 Go. 哈哈.
> 不正经解决:
换 Go 吧. 2333
老代码不动, 新业务用 Go 写, 再 HTTP / gRPC / WS 对接.
Python + Django 就不适合做大型业务. 只适合 CMS 这种快 /糙 /猛的东西.
如果弃用自带 ORM 的便利性(比如外键), 还用 Django 做啥. 哈哈.