Tīmekļa lietotņu horizontāla mērogošana
Author
Bendrups, Alfrēds
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Sprūds, Gatis
Date
2015Metadata
Show full item recordAbstract
Kursa darba mērķis ir veikt praktisku pētījumu par tīmekļa lietotņu horizontālas mērogošanas realizāciju (slodzes sadalīšanu pa vairākiem serveru mezgliem). Tā kā tīmekļa lietotņu servera puses valodu un risinājumu ir daudz, konkrēti šim darbam tika izvēlētas tirgū visbiežāk sastopamās komponentes – PHP kā servera puses valoda (81.9% tirgus daļa 2015. gada 16. aprīlī [1]) un MySQL kā datubāžu risinājums (populārākā datubāze, ko izmanto kopā ar PHP). Kā papildus datu krātuve tiks izmantots Redis1, kas kalpos kā centralizēts datu kešošanas serveris.
Papildus horizontāli mērogojamas serveru infrastruktūras izbūvei, darbā tiks apskatīti arī veidi, kā maksimāli optimizēt jau esošos resursus pēc iespējas lielākas veiktspējas sasniegšanai un stabilitātei.
Kursa darba ietvaros apskatīts:
DNS mērogošana
Slodzes līdzsvarošana
Lietotnes sesijas mērogošana
Keša serveru izmantošana
MySQL Master – Slave infrastruktūra
Linux servera optimizācijas The main purpose of this paper is to make a research in the field of horizontal scaling of web applications (load balancing between multiple servers). Since there are many web application serverside languages and solutions available, for this exact research the most commonly used server komponents were picked – PHP as the serverside language (81.9% market share on 16 April, 2015[1]) and MySQL as the database solution (the most popular database used together with PHP. Additionally Redis will be used as a datastore for the purpose of centralized data caching.
Along with the build of a horizontally scalable server architecture, the author will also be looking into ways of optimizing already existing resources to achieve a maximum performance and stability.
Covered in this paper:
DNS scaling
Load balancing
Application session scaling
Caching servers
MySQL master/slave infrastructure
Linux server optimizations