About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
administration:fault_tolerance_and_load_balancing

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
administration:fault_tolerance_and_load_balancing [2015/12/14 19:45] demiankatzadministration:fault_tolerance_and_load_balancing [2017/04/11 06:35] – [Required Software Components] emaijala
Line 18: Line 18:
  
 There are two primary strategies for dealing with this issue: There are two primary strategies for dealing with this issue:
 +
 == Node Persistence == == Node Persistence ==
 Most load-balancers can be configured such that a user will always hit the same node during their session. This is often referred to as sticky sessions. The strategies for achieving this goal depend on the load balancer but can range from using cookies to keeping track of IP addresses. Consult the documentation for the load balancer to learn about the strategies available. Most load-balancers can be configured such that a user will always hit the same node during their session. This is often referred to as sticky sessions. The strategies for achieving this goal depend on the load balancer but can range from using cookies to keeping track of IP addresses. Consult the documentation for the load balancer to learn about the strategies available.
Line 26: Line 27:
 If sessions are stored inside a local database instance on a node (MySQL/MariaDB/etc.), then replication or clustering technologies for the database can be leveraged to synchronize session information across nodes, making node persistence unnecessary. Consult the documentation of your chosen database software for information on setting up replication. If sessions are stored inside a local database instance on a node (MySQL/MariaDB/etc.), then replication or clustering technologies for the database can be leveraged to synchronize session information across nodes, making node persistence unnecessary. Consult the documentation of your chosen database software for information on setting up replication.
  
-  * MariaDB Galera Cluster: [[https://downloads.mariadb.org/mariadb-galera/]]+  * MariaDB Galera Cluster: [[https://mariadb.com/kb/en/mariadb/galera-cluster/]]
  
 ==== Solr Replication ==== ==== Solr Replication ====
Line 109: Line 110:
      
 Now the ETag of a file will be identical on all servers as long as the modification time and file size are identical. Now the ETag of a file will be identical on all servers as long as the modification time and file size are identical.
 +
 +== Asset Pipeline and other shared files ==
 +
 +Load balancing and VuFind's asset pipeline are currently not compatible. The problem is that the request for which the assets were created could be served by a different server than the one the client requests them from. Without software modifications there are at least the following possibilities:
 +  * Use a shared disk for all the load-balanced servers. This might have performance and reliability implications.
 +  * Use sticky session in the load balancer. This has its own downsides like causing future requests from clients to go to the same server as before, which could cause imbalance between the servers especially when new ones are added.
 +
 +Note that the above issues also affect things like the cover cache, but since covers can always be recreated from the source, it does not cause actual issues with servicing the requests.
  
 == Additional Implementation Notes == == Additional Implementation Notes ==
administration/fault_tolerance_and_load_balancing.txt · Last modified: 2023/03/30 19:31 by cmurdoch