改动最小的应该是用 fabric,做一个批量操作而已,fabric 可以控制并发数和顺序流程,也是 Python 生态下的
其他的建议也都很好,但是不一定能立马用上
顺序大概是
- 人肉 nginx + gunicorn
- 脚本 fabric + supervisor
- Jenkins 合并上述操作,鼠标点上线
- docker + k8s,上线还是 Jenkins 鼠标点
业务在很大的程度上决定了一个团队的分工。但是在讲业务需求之前,我想先聊一下程序员所需要解决的两类问题。
第一类就是生意问题。我们制作的软件,其实都是为了做生意。而且很多时候,这个生意没有了软件一样能做,只是比较低效而已。我们只是生产了一个工具,可以提升做生意的效率。
另一类问题,就是计算机问题,是用来支撑我们去生产这个工具的,比如计算机、数据库、网络等等,都是为了更好的支撑我们去模拟做生意的过程。
这两类问题,都会对我们的架构设计产生或深或远的影响,所以一定要在设计前就有一定的了解。
接下来聊聊业务需求为什么会对架构设计产生深远的影响。我们先看一下建筑的用途是怎么影响到建筑的架构的。
像农村里的普通住宅(一般规模),砖混结构就够用了;城镇的中低层住宅楼(规模变大),就需要框架结构;高层住宅(规模进一步变大)的结构也不一样,是核心筒 + 剪力墙;至于像机场、车站这种需要超大空间的建筑体(另一种使用场景),则又需要大跨结构。你看,建筑上不同的空间诉求,对架构的要求也是不同的。
回到