Open edX分布式部署建议
文章目录
过早优化是万恶之源
前段时间Open edX升级部分组件,导致分布式安装发生了变化,具体变更可以关注commit或者参考各个task的变量
建议做分布式前,先检测瓶颈所在,这样能节约机器成本,且极大节省人力
如果对ansible很熟,一切都好说,无非是做好配置和排错。如果对ansible不熟悉,ansible本身的学习成本是很高的,最好有个准备,
如果你仅仅是分离数据库或缓存,手动就好了。对于数据库,只要安装 ->
创建用户->
建库->
做好权限配置(包括网络可访问性)->
migrate数据->
在组件的配置文件里,做好数据库配置->
restart,就好啦
当然你也可以将全库导入导出
缓存服务比较简单,就不赘述了
不过手动的话也需要注意,edx的组件是分离的,而他们共用数据库,所以你需要做的配置可能分散在多处,至于有几处,需要看roles
如果对性能要求高,建议先花时间把ansible学好,edx的ansible-playbook脚本已经充分把分布式考虑在内了。包括对mongo做主从,对mysql做主从,对消息队列和缓存做分布式
如果压力来自django server,你应该对edxapp做分布式,然后做负载均衡
文章作者 种瓜
上次更新 2016-05-11