Biomedical Engineering Reference
In-Depth Information
improve the performance of the web server, dynamic and static requests
should be split. Django makes many dynamic requests, and we let Apache
handle these. However, Nginx is excellent at serving static fi les up so it
now handles these requests. In this model we can add more Apache
servers later as required, and again it allows easy maintenance.
Both Nginx and Tungsten Connector run as a single instance, there is
no high availability protection. To ensure these services are always
running we use Red Hat Cluster Suite [20]. This ensures that if the blade
crashes, they are restarted on another blade. By abstracting Apache under
Nginx, we are free to alter web servers later. The open source world
changes far more quickly than enterprise software so having the fl exibility
and freedom to switch the building blocks of our system is paramount.
We anticipate that several software components may change within the
next few years. Importantly, unlike our previous system we can add more
hardware as required and switch software as required. A large upgrade
and migration cannot be imposed by external factors.
Although we have opted to use MySQL, OpenEye and Python, it is
easy to mix databases, toolkits or languages of choice. Applications
like Nginx, Apache and Red Hat Cluster Suite are not tied to a single
software stack.
12.5 Review
The next steps for Design Tracker are introducing memory caching via
memcached in the application layer for faster performance. MySQL 5.5 is
beginning to utilise memcached as well. Currently we use MySQL 5.1 but
Tungsten will let us run multiple versions while we upgrade the cluster at our
own pace. We are keen to upgrade to the latest version, but with a global
production system we test thoroughly on the development cluster fi rst.
Looking forward we will investigate master-master replication across
our geographical sites for disaster recovery purposes and to provide
enhanced database performance where the limiting step is a slow network
connection between sites. We are not tied to MySQL - we could switch to
PostgreSQL - and Continuent is building support for other databases as
well, including Oracle. From the application perspective would should
add more Nginx and Tungsten Connector instances and use the LVS
(Linux Virtual Server [21]) to load balance. This has the drawback of
requiring more servers to setup LVS, therefore another solution which we
are also investigating is using a hardware load balancer which would host
￿ ￿ ￿ ￿ ￿
 
Search WWH ::




Custom Search