Systems with high loads on Linux
This format is not available in this course
About course
You can be able to work with different servers and software at different levels. There can be only one site at the capacity, but the number of requests to it can be so large that the hardware can no longer handle it. What to do in such a situation?
This course is for confident middle. We will teach you how to work with highly loaded servers so that they do not fall.
What do you need to take the course?
You need to be well versed in such topics: text editors, advanced user and group management in Linux, file and directory permissions management, process management, network configuration in Linux.
Iptables, proxy, troubleshooting for network connections, protocols for transferring data over the network, package managers, obtaining information about the versions of installed programs and packages available for installation in the repositories; web servers, DNS, database servers.
Course program
Web server and balancing of requests
LectureLevels of balancing.
LectureAlgorithms and balancing methods.
LectureNginx web server.
LectureNginx module ngx_http_upstream_module.
Databases: high loads
LectureThe concept of replication and sharding in MySQL.
LectureTypes of replication
LectureClustering and Percona XtraDB Cluster. Parameters and directives in my.cnf, tuning Percona XtraDB Cluster
PracticeInstallation and configuration of Nginx web server. Practice on balancing setup skills using different algorithms based on Nginx with the ngx_http_upstream_module. Installation and configuration of Percona, combining nodes into a cluster, getting reports about the state of the cluster.
HAProxy and ProxySQL
LectureHAProxy tool, description and characteristics.
LectureConfiguration file of HAProxy, directives and receiving statements about backend nodes.
LectureProxySQL tool, description and characteristics.
LectureThe proxysql configuration file, commands for managing and receiving data.
Network
LectureLink aggregation. General rules for configuring EtherChannel.
LectureLink Aggregation Control Protocol (LACP) in Linux.
LectureLACP on Linux. Bonding and teaming.
LectureResilient IP based on the CARP (Common Address Redundancy Protocol) protocol.
PracticeInstallation and configuration of HAProxy as a frontend, configuration of balancing, configuration of the HAProxy control panel. Installation and configuration of proxysql, mysql queries balancing on 3 backend database servers. Installation and configuration of UCARP with distribution of IP to 3 servers.
DNS
LectureDNS working principles. Architecture.
LectureHow DNS works. Root server system.
LectureNS servers, bundles. Balancing by means of the DNS protocol.
LectureCloudFlare service, tools, filters and DNS zone management.
Queue management systems
LectureGeneral information about queue management systems.
LectureApache Kafka. Terminology and components. Configuration files and directives.
LectureRabbitMQ, terminology, commands for managing the server, commands for managing users
PracticeInstallation and configuration of BIND, configuration of the master-slave link. DNS multiple A-records. Installation and configuration of Apache Kafka Cluster, practicing skills in creating and receiving messages.
Distributed file systems
LectureThe principle of operation of distributed file systems. Description and characteristics of popular distributed systems.
LectureDescription and technical characteristics of Ceph. Ways to implement fault tolerance and data storage in Ceph.
LectureDescription and technical characteristics of GlusterFS. Ways to implement fault tolerance and data storage in GlusterFS.
HA Storages, monitoring
LectureRAID Technology. Definitions and terminology.
LectureRAID Levels. Composite RAID arrays.
LectureAccess to storage via NFS.
LectureMonitoring systems, types and characteristics, selection of the optimal system for monitoring processes in HA infrastructures.
PracticeSet up of a 1+0 Spanned RAID array using mdadm. Connection of the array via NFS. Configuration of triggers in Zabbix, channels monitoring and states of nodes on the internal network.
Project Work
Exam ProjectHave you already seen our courses?
You will definitely find what you need 😊
At the end of the course the student will know
- possible balancing algorithms that are applied to different technologies
- types of replication in database servers and the difference between them
- replication schemes
- configuration files and directives when building database clusters
- tools for balancing web, mail, sql
- principles of aggregation of network links in Linux
- the principle of operation of queue management systems in Linux
- algorithms of operation of distributed file systems
- levels of RAID arrays
- composition of RAID arrays
- methods of obtaining information about the state of highly loaded systems
At the end of the course the student will be able to
- configure the Nginx web server as a balancer using optimal balancing algorithms
- install and configure database replication
- configure Percona XtraDB Cluster with optimization of cluster settings
- configure HAProxy as a frontend server; install a control panel to monitor HAProxy balancing processes
- install and configure proxysql, provide balancing of SQL queries on several SQL servers
- install and configure floating IP (UCARP) with distribution to several servers
- install and configure master-slave links in BIND (named)
- install and configure Apache Kafka Cluster, create and receive messages from configured cluster