[[ozbargain_architecture]]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ozbargain_architecture [2016/07/21 10:59]
scotty [Architecture]
ozbargain_architecture [2023/03/16 09:28] (current)
scotty
Line 1: Line 1:
 ====== OzBargain Architecture ====== ====== OzBargain Architecture ======
  
-This page will be about OzBargain website's hardware/software/system architecture. Note that this page might get updated once a year, while OzBargain itself is updated much often so the info here might not be always up to date.+This page will be about OzBargain website's hardware/software/system architecture. Note that this page might get updated once a year, while OzBargain itself is updated much more often so the info here might not be always up to date.
  
 ===== Software ===== ===== Software =====
Line 14: Line 14:
  
   * Nginx for FastCGI front-end + static file serving   * Nginx for FastCGI front-end + static file serving
-  * PHP 5.6 in FastCGI +  * PHP in FastCGI 
-  * MySQL 5.5 as database+  * MariaDB as database
   * Redis for in-memory caching, global variables and blocking queues   * Redis for in-memory caching, global variables and blocking queues
-  * Firefox Xvfb server for [[help:foxshot|taking the screenshots]]. +  * Chromium PhantomJS server for [[help:foxshot|taking the screenshots]]. 
-  * SphinxSearch for the search backend.+  * Manticore for the search backend.
  
 ===== Hosting ===== ===== Hosting =====
Line 26: Line 26:
   * [[https://aws.amazon.com/s3/|Amazon S3]] for thumbnail and uploaded files storage.   * [[https://aws.amazon.com/s3/|Amazon S3]] for thumbnail and uploaded files storage.
   * [[https://www.binarylane.com.au/|Binary Lane]] VPS in Sydney for the main site.   * [[https://www.binarylane.com.au/|Binary Lane]] VPS in Sydney for the main site.
-  * [[https://www.vultr.com/|Vultr]] VPS in Sydney for front-end caching for Amazon S3.+  * [[https://www.cloudflare.com/|Cloudflare]] as front-end proxy / CDN.
  
 ===== Architecture ===== ===== Architecture =====
Line 32: Line 32:
 Currently the whole OzBargain main site sits on a few KVM VPS at Binary Lane (4GB-8GB RAM, 60GB-100GB hard disk) -- two running replicated MySQL & Redis, and the another one running the rest of stack. Nginx on port 80/443 handles all the HTTP requests, and then pass the requests to either Drupal/PHP via FastCGI, or to customised Python/Tornado based server via proxy. MySQL is the main database used, and Redis is used for session storage, in memory cache and blocking queues. Blocking queues are used to let front-end processes send asynchronous commands to backend processes, which is also implemented in Python. Currently the whole OzBargain main site sits on a few KVM VPS at Binary Lane (4GB-8GB RAM, 60GB-100GB hard disk) -- two running replicated MySQL & Redis, and the another one running the rest of stack. Nginx on port 80/443 handles all the HTTP requests, and then pass the requests to either Drupal/PHP via FastCGI, or to customised Python/Tornado based server via proxy. MySQL is the main database used, and Redis is used for session storage, in memory cache and blocking queues. Blocking queues are used to let front-end processes send asynchronous commands to backend processes, which is also implemented in Python.
  
-RabbitMQ is also used as broker for micro-services. RabbitMQ cluster is hosted on a pair of VPS at Vultr in Sydney.+RabbitMQ is also used as broker for micro-services. 
 ===== See Also ===== ===== See Also =====
  
   * [[help:credits]] page.   * [[help:credits]] page.