Difference between revisions of "Cluster Deployment"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 8: Line 8:
:* The platform is deployed across multiple servers.
:* The platform is deployed across multiple servers.
:* A Load Balancer distributes traffic across the web servers.
:* A Load Balancer distributes traffic across the web servers.
:* Apache <tt>httpd</tt> is the front-end web server, and LongJump is the application server.<br/>''Learn more:'' [[Configuring Apache to serve static content from LongJump |Configuring Apache to Serve Static Content]]
:* Apache <tt>httpd</tt> is the front-end web server for the application server.<br/>''Learn more:'' [[Configuring Apache to Serve Static Content]]
:* Memcached servers reduce response time by caching data in memory.<br/>''Learn more:'' [[Configuring memcached]]
:* Memcached servers reduce response time by caching data in memory.<br/>''Learn more:'' [[Configuring memcached]]
:* The suite of memcached servers are accessed by all LongJump servers, backend as well as front end. (Having one memcached server for each LongJump server is a common pattern, but is not strictly necessary.)
:* The suite of memcached servers are accessed by all application servers, backend as well as front end. (Having one memcached server for each application server is a common pattern, but is not strictly necessary.)
:* The critical backend processes shown here (<tt>import</tt>, <tt>export</tt>, and <tt>scheduling</tt>, which uses <tt>quartz</tt>) are all being run from a single LongJump instance. But additional servers can be employed, as load demands.<br/>''Learn more:'' [[Managing Backend Services]]
:* The critical backend processes shown here (<tt>import</tt>, <tt>export</tt>, and <tt>scheduling</tt>, which uses <tt>quartz</tt>) are all being run from a single platform instance. But additional servers can be employed, as load demands.<br/>''Learn more:'' [[Managing Backend Services]]
:* Document storage (which includes pictures and image files) is managed separately from the database.
:* Document storage (which includes pictures and image files) is managed separately from the database.
:* The database is running on its own server, for added performance.<br/>''Learn more:'' [[Configuring MySQL to Run on a Separate Server]]
:* The database is running on its own server, for added performance.<br/>''Learn more:'' [[Configuring MySQL to Run on a Separate Server]]

Revision as of 17:39, 7 June 2011

Prototype Deployment

The following diagram shows the kind of architecture that is typical for a production system:

File:Prototype deployment.png

The key points depicted in the diagram are:

  • The platform is deployed across multiple servers.
  • A Load Balancer distributes traffic across the web servers.
  • Apache httpd is the front-end web server for the application server.
    Learn more: Configuring Apache to Serve Static Content
  • Memcached servers reduce response time by caching data in memory.
    Learn more: Configuring memcached
  • The suite of memcached servers are accessed by all application servers, backend as well as front end. (Having one memcached server for each application server is a common pattern, but is not strictly necessary.)
  • The critical backend processes shown here (import, export, and scheduling, which uses quartz) are all being run from a single platform instance. But additional servers can be employed, as load demands.
    Learn more: Managing Backend Services
  • Document storage (which includes pictures and image files) is managed separately from the database.
  • The database is running on its own server, for added performance.
    Learn more: Configuring MySQL to Run on a Separate Server
  • The primary database instance and the replication instance are each running on separate servers, both for reliability and for performance of read-intensive operations.
    Learn more: Using Replication with Different Master and Slave Storage Engines
  • Requests that access and update, whether coming from a user or a backend process, go to the primary database, while read-intensive operations (backups, reports, exports) are executed on the replicated database.
    Learn more: Running Reports Using a Replicated Database Server.