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)

{#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

{#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节点
  • 其他,如管理监控