Difference between revisions of "Architecture"

From Freephile Wiki
Jump to navigation Jump to search
(resized images)
(the CDB system is deprecated in favor of straight PHP arrays)
Line 46: Line 46:
  
 
In a standard web application architecture, the incoming user traffic is distributed through load balancers to a number of application servers that run independent instances. These application servers access a shared storage, a shared database and a shared cache. This architecture scales well up to a 6 figure number of users. The application servers are easy to scale because doubling the number of servers doubles the performance.  
 
In a standard web application architecture, the incoming user traffic is distributed through load balancers to a number of application servers that run independent instances. These application servers access a shared storage, a shared database and a shared cache. This architecture scales well up to a 6 figure number of users. The application servers are easy to scale because doubling the number of servers doubles the performance.  
 
 
  
  
 
</ref>
 
</ref>
 
 
  
  
Line 71: Line 67:
 
== Data Persistence ==
 
== Data Persistence ==
  
there is the [https://github.com/wikimedia/cdb Constant Database] (CDB) wrapper around the [https://secure.php.net/manual/en/book.dba.php native PHP DBA functions] . This is a flat file store like the [https://en.wikipedia.org/wiki/Berkeley_DB Berkeley DB] style databases. In MediaWiki, it is used for the [https://www.mediawiki.org/wiki/Interwiki_cache interwiki cache], and the localization cache Having the WMF interwiki list may not be important to your wiki. But having a performant cache for the interwiki links contained in your wiki farm<ref>e.g. see http://lol.esportspedia.com/w/api.php?action=query&amp;meta=siteinfo&amp;siprop=interwikimap
+
old [https://github.com/wikimedia/cdb Constant Database] (CDB) wrapper around PHP's [https://secure.php.net/manual/en/book.dba.php native PHP DBA functions] (which provides a flat file store like the [https://en.wikipedia.org/wiki/Berkeley_DB Berkeley DB] style databases) is now replaced by simple PHP arrays which are file included.  This allows the HHVM opcode cache to precompile and cache these data structures. In MediaWiki, it is used for the [https://www.mediawiki.org/wiki/Interwiki_cache interwiki cache], and the localization cache. This is not to say that you will want or need WMF interwiki list, but having a performant cache for the interwiki links contained in ''your'' wiki farm<ref>e.g. see https://freephile.org/w/api.php?action=query&meta=siteinfo&siprop=interwikimap</ref> is probably important.
</ref> is probably important.
 
  
 
Persistent data is stored in the following ways:
 
Persistent data is stored in the following ways:

Revision as of 12:50, 1 July 2017