过早优化是万恶之源

前段时间Open edX升级部分组件,导致分布式安装发生了变化,具体变更可以关注commit或者参考各个task的变量

建议做分布式前,先检测瓶颈所在,这样能节约机器成本,且极大节省人力

如果对ansible很熟,一切都好说,无非是做好配置和排错。如果对ansible不熟悉,ansible本身的学习成本是很高的,最好有个准备,

如果你仅仅是分离数据库或缓存,手动就好了。对于数据库,只要安装 -> 创建用户->建库->做好权限配置(包括网络可访问性)->migrate数据->在组件的配置文件里,做好数据库配置->restart,就好啦

当然你也可以将全库导入导出

缓存服务比较简单,就不赘述了

不过手动的话也需要注意,edx的组件是分离的,而他们共用数据库,所以你需要做的配置可能分散在多处,至于有几处,需要看roles

如果对性能要求高,建议先花时间把ansible学好,edx的ansible-playbook脚本已经充分把分布式考虑在内了。包括对mongo做主从,对mysql做主从,对消息队列和缓存做分布式

如果压力来自django server,你应该对edxapp做分布式,然后做负载均衡