github wiki有一篇文档说明了edx.org的架构https://github.com/edx/configuration/wiki/Hosting-edX-in-Production
edX.org 部署
EdX.org 通过AWS cloudformation部署在EC2。你可以看到cloudformation的摸板https://github.com/edx/configuration/blob/master/cloudformation_templates/edx-reference-architecture.json.
在2015-02-18的时候,部署大概是这样的:
几个名词:
ELB Elastic Load Balancing http://aws.amazon.com/cn/elasticloadbalancing/
实例类型 http://aws.amazon.com/cn/ec2/instance-types/
{#user-content-edxapp-servers-10-c34xlarge-instances.anchor}EdXApp Servers (10 c3.4xlarge instances)
- edxapp.yml
- 1 external ELB hosting courses.edx.org
{#user-content-forum-servers-2-m1large-instances.anchor}Forum Servers (2 m1.large instances)
- forum.yml
- 1 internal ELB hosting prod-edx-forum.edx.org
{#user-content-commoncluster-servers-3-m3large-instances.anchor}CommonCluster Servers (3 m3.large instances)
- commoncluster.yml
- 4 internal ELBs hosting
- ElasticSearch
- RabbitMQ
- XQueue
- XQueue internal
{#user-content-worker-servers-2-m24xlarge-instances.anchor}Worker Servers (2 m2.4xlarge instances)
{#user-content-xqwatcher-servers-2-m3medium-instances.anchor}xqwatcher Servers (2 m3.medium instances)
{#user-content-insights-servers-2-m3medium-instances.anchor}Insights Servers (2 m3.medium instances)
- insights.yml
- 1 ELB hosting insights.edx.org
{#user-content-certificates-servers-1-m3medium-instance.anchor}Certificates Servers (1 m3.medium instance)
{#user-content-mongodb-hosted-via-composeio.anchor}MongoDB Hosted via Compose.io
- Can also be deployed using mongo.yml
{#user-content-mysql-hosted-via-aws-rds-multi-az-deployment-of-size-dbm24xlarge.anchor}MySQL Hosted via AWS RDS (Multi-AZ deployment of size db.m2.4xlarge)
- Can also be deployed using a cluster of any mysql compatible database server.
{#user-content-misc.anchor}Misc
- Various legacy graders
- Analytics related servers
- Admin & Monitoring servers
可以看到的大概分割思路是这样的
- edXAPP,包含LMS/CMS
- 论坛
- 一般节点,包含rabbitMQ/Xqueue
- Worker,后端进程
- xqwatcher,外部分析
- Insight,数据分析
- Certs,证书组件
- MonogoDB节点
- Mysql节点
- 其他,如管理监控