大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

时间:2021-07-11 05:40:45

课程简介:

随着互联网的发展,高并发、大数据量的网站要求越来越高。而这些高要求都是基础的技术和细节组合而成的。本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练。

通过该课程的学习,普通的技术人员就可以快速搭建起千万级的高并发大数据网站平台。

亮点一:真实环境还原,课程采用了VM环境重现大网站集群服务器环境,真实环境还原再现。

亮点二:基础实用,细节决定成败,课程内容在演练过程中重点介绍各种细节,保证初级人员快速入门及高级进阶。

亮点三:讲师丰富的海量平台运作经验

讲师tom5多年研发平台,某大型视频网站CTO,众多大型网站及移动应用平台架构经验,并拥有多年的培训经验经历。讲课内容完全切合架构设计及实施人员需要。

第一章 概述(1课时)简要介绍该系列课程的内容,

本章内容如下:

主流高并发大数据应对技术介绍
                    CDN镜像技术介绍
                    静态化技术介绍
                    库表水平及垂直拆分技术介绍
                    虚拟化云计算体系介绍
                    高并发系统架构规划
                    高并发大型网站高可靠架构图
                    课程安排简介
                    高并发大型网站高可靠架构网络IP规划
                    搭建实战环境的准备工作
                     SFTP客户端Filezilla使用简介
                    SSH客户端SecureCRT使用简介
                    Centos关闭图形界面启动及开启sshd实战 
                    虚拟机clone后网卡重新初始化演练  
                     VMware使用技巧演练

第二章 LVS实现负载均衡软交换实战(5课时)

本章演练的是负载均衡技术的核心,主要包括LVS的类型特点适用场景介绍,使用Piranha安装快速搭建LVS负载均衡集群及配置,LVS负载均衡DR模式深入安装调试,LVS调度策略及负载均衡原理详细演练,LVS深入实践NAT模式集群调试。

详细内容如下:

LVS服务器配置准备
                      关闭centos网卡自动管理实践
                      上网网卡手动配置
                       yum镜像加速
                       yum安装Piranha
                       piranha-gui启动
                       防火墙配置开通3306口
                       pulse启动
                       piranha安装效果验证
                       nginx服务器配置安装
                      主机名配置
                       添加nginx的yum安装源
                       yum安装nginx
                       nginx安装效果验证
                       防火墙配置打开80口
                       防火墙配置虚IP包转发规则支持LVS的DR模式
                       Piranha配置DR模式详解演练
                       global settings公网IP配置Primary server public ip
                       redundancy配置lvs服务器的冗余,
                       virtual servers配置Virtual IP Address和real server
                       主从配置scp复制
                       LVS安装效果验证
                       ipvsadm演练
                       热备切换
                       LVS自服务配置启动
                       Piranha相关轮询配置参数讲解及效果演示
                       Round robin:轮转调度 轮询 (最简单的轮询)
                       Weighted least-connections:加权最少连接(考虑负载、服务器性能因素)
                       Weighted round robin:加权最少连接(考虑服务器性能因素)
                       Least-connection:最少连接(考虑负载因素) 等
                       /etc/sysconfig/ha/lvs.cf  文件配置内容详细讲解
                       LVS调度策略深入及效果演示
                       服务器集群负载均衡简化的整体结构讲解
                       基于DNS的请求调度
                       基于前端调度器的请求调度
                       四层交换-通过DR实现报文转发
                       四层交换-通过IP隧道实现报文转发
                       四层交换-通过NAT实现报文转发
                       四层交换-三种报文转发技术比较
                       应用层交换-协议内部支持Http重定向
                       应用层交换-其他技术
                       基于后端服务器的请求调度
                       LVS三种模式比较
                       LVS典型NAT模式网络拓扑图
                       Clone服务器配置安装nginx2及lvs2
                       Piranha配置NET模式
                       NAT模式效果演示
                       centos配置防火墙关闭,开启转发
                       centos主备LVS复制配置文件
                       验证LVSNAT安装效果

第三章 Nginx高级配置实战(3课时)

本章演练的是静态内容与动态内容服务器分离,主要包括Nginx基础安装配置,Nginx反向代理实战进阶,Nginx动静分离URL转发实战,

详细内容如下:

Hadoop,Tomcat的安装环境采用debian的tomcat最小安装版虚拟机下载并初始化
                       tomcat服务端口修改
                       主机名修改
                      增加首页jsp服务器识别标志
                       tomcat安装效果测试
                       nginx安装默认目录讲解
                       nginx配置文件详细讲解
                       nginx配置server先后顺序演练
                       hosts文件修改本地dns配置模拟域名访问
                       Nginx调度策略演练:nginx的upstream目前支持4种方式的分配:轮询(默认)、weight、ip_hash、fair、url_hash
                       Nginx调度策略-小技巧演练等:backup,down等演练
                       proxy_pass后的url加不加/的区别演练
                       Nginx对URL进行匹配语法规则讲解
                       Nginx对URL进行匹配演练实践
                       Nginx对URL进行匹配-常用规则讲解
                       Nginx一些可用的全局变量详解
                       Nginx代理后,服务端收到参数通过tomcat上编写info.jsp详细查看
                       Nginx对URL重写语法详解:标记,判断文件或目录
                       正则表达式语法讲解
                       Nginx对URL重写例子技巧演练
                                  1.简单例子: rewrite "/zixun/([0-9]+)(/*).html$" /zixun/$1/ last;
                                  2.多目录转成参数
                                  3.目录对换
                                  4.设定nginx在用户使用ie的使用重定向到/nginx-ie目录下
                                  5.目录自动加“/”
                                  6.禁止htaccess
                                  7.禁止多个目录
                                  8.文件反盗链并设置过期时间
                                  9.域名跳转
                                  10.多域名转向
                                  11.三级域名跳转
                                  12.域名镜向
                                  13.某个子目录作镜向

第四章  基于共享存储实现动态内容静态化加速实战(2课时)

本章演练的是基于共享存储实现动态内容静态化加速,主要包括NFS共享文件系统基础安装配置,tomcat动态内容静态化加速实战演练。

详细内容如下:

nginx负载均衡双机配置文件同步复制
                     检查LVS及整套集群环境运行状态(LVS+nginx+tomcat),停掉tomcat检查
                     clone生成服务器安装配置nfs服务端
                     centos64位yum安装服务端nfs-utils rpcnbind
                     修改nfs配置文件/etc/exports服务端开放共享目录
                     关闭防火墙,启动nfs相关服务端服务
                     nginx服务器,tomcat服务器上nfs客户端安装配置并验证共享效果
                     配置各nfs相关服务开机自启动
                     通过详细jsp讲解演练将动态内容静态化,提高整体系统性能。
                     tomcat服务器上目录权限开放保证tomcat,nginx服务有权限读写
                     动态内容静态化效果验证

第五章 缓存平台安装配置使用(2课时)

本章演练的主流缓存平台的搭建,主要包括基于memcached搭建缓存平台安装配置,基于缓存编程实战演练。

详细内容如下:

Clone生成服务器mem配置网卡及主机名
                       下载memcached的rpmforge的yum源rpm安装包
                        yum安装memcached
                        memcached安装效果验证,服务自启动配置验证
                        centos、win7上安装telnet客户端
                        telnet命令帮助检查端口11211是否可访问
                        防火墙关掉11211口限制
                        memcached服务器运行状态参数详解
                        memcached启动命令详解并演练
                       下载Memcached java客户端jar包
                        memcache客户端测试代码memtest.jsp详解演练
                        stats items命令查看memcache中每个slab中存储的item的一些详细信息
                        stats slabs命令查看memcache中slab中内存分配的情况
                        memcache的增删改读效果演练
                       计数器代码count.jsp讲解实战
                       部署到tomcat1和tomcat2,不同服务器jsp增加服务器识别标识,并验证效果

第六章  mysql主从复制安装配置实战(2课时)

本章演练数据关键存储主流数据库高可靠平台的搭建,主要包括mysql主从复制基础安装配置,mysql主从复制安装配置进阶及结合缓存编程实战演练。

详细内容如下:

Clone生成服务器mysql1配置网卡及主机名
                        yum安装mysql服务
                        修改mysql配置字符集utf8
                        配置mysqld自启动服务并启动验证安装效果
                        mysql设置root密码
                        Mysql遗忘密码如何重置关键使用技巧
                        Clone生成服务器mysql2修改主从配置开启binlog
                        在主服务器上建立帐户并授权slave同步权限
                        登录主服务器的mysql,查询master的状态确定binlog文件名及pos偏移值
                        配置从服务器Slave指定上述主服务器binlog文件名及pos偏移值
                        启动从同步复制服务并检查从服务器复制功能状态
                        详细状态实际讲解Slave_IO_Running: Yes      //此状态必须YES
                        Slave_SQL_Running: Yes    //此状态必须YES
                        十分关键

外部访问3306口验证
                        配置防火墙打开3306口
                        高级配置解决mysql远程访问授权问题
                        主从服务器验证主从复制效果
                        主服务器中建库建表,插入数据
                        从服务器中查看同步效果
                        若主服务器有老数据的情况初始化步骤详解mysqldump,source等命令使用
                        利用Mysql解决memcahe持久化问题
                         Mysql  jdbc 驱动jar包下载
                         Mysql测试mysqltest.jsp代码讲解
                         mysql授权小陷阱问题解决
                         计数器表建立,计数器jsp代码修改并在原有memcache基础上增加mysql持久化部分代码,间隔超过10秒存一次db,并重启memcached检查代码效果

第七章  海量数据平台安装配置实战(2课时)

本章演练主流NoSql分布式数据引擎及MapReduce平台hadoop的搭建,主要包括hadoop分布计算平台基础安装配置,hadoop高级管理,HDFS分布式文件使用深入演练。

详细内容如下:

HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS集群、MapReduce分布式计算、Hadoop分布式集群运行图详解
                        Clone出hadoop服务器nameNode配置ip及hostname
                        修改hosts增加nameNode,dataNode的ip映射
                        nameNode增加hadoop用户及用户组并设置密码
                        nameNode配置ssh自动登录
                        Clone出hadoop服务器dataNode1、2配置ip及hostname
                        修改hosts增加nameNode,dataNode的ip映射
                        dataNode增加hadoop用户及用户组并设置密码
                        dataNode1、2配置ssh自动登录
                        Namenode服务端同步ssh公钥文件到各
                        dataNode1、2
                        ssh验证ssh自动登录
                        Hadoop安装,下载并上传解压缩
                        建立文件目录tmp
                         Hadoop配置conf/core-site.xml详解演练
                         Hadoop配置conf/hdfs-site.xml详解演练
                         Hadoop配置conf/mapred-site.xml详解演练
                         Hadoop配置conf/masters
                         Hadoop配置conf/slaves
                        复制Hadoop到slaves服务器
                        启动Hadoop
                        首次执行,格式化HDFS文件系统hadoop namenode –format
                         验证Hadoop启动
                         java自带的小工具jps查看进程
                         hadoop dfsadmin -report查看服务状态
                         Web管理:jobtracker、tasktracker、DFS状态查看
                         Hadoop无法启动可能的原因:防火墙等
                        管理HDFS中的文件详细演练

第八章 简单队列缓存平台安装配置实战(2课时)

本章演练热门的redis搭建简单的队列及缓存平台,主要包括redis安装配置实战,redis实用编程详细演练。

详细内容如下:

Redis是当前最热门的高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。

基于redis搭建简单的队列及缓存平台
                       clone服务器redis配置ip及修改主机名
                       下载安装redis-2.6.11.tar.gz 
                       编译原代码
                       编译问题编译环境上网yum安装
                       Redis编译安装,在src目录下生成5个可执行文件,redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump
                       设置内存分配策略设置/etc/sysctl.conf 中vm.overcommit_memory = 1,允许分配所有的物理内存,而不管当前的内存状态如何
                        Redis启动并验证
                        Redis远程连接6379口
                        配置防火墙打开6379端口
                        配置指定log及db文件
                        配置自启动服务脚本:/etc/init.d/redis
                        增加权限。配置自启动服务redis
                        Redis配置文件redis.conf修改,其中daemonize: 默认情况下,redis不是在后台运行的,需要在后台运行,把该项的值更改为yes。
                        Redis常用命令:del name,exists name,ping,save,redis-cli -p 6379 save
                        Redis支持String类型,能存储二进制安全的字符串,最大长度为1GB。也可用来存储数字,并支持对数字加减操作。还支持对其部分的修改和获取操作。
                        List类型操作演练
                        集合(Sets)类型操作演练
                        有序集合(Sorted Sets)类型操作演练
                        Hash类型操作演练
                        Publish/Subscribe队列订阅发布操作演练
                        数据过期设置TTL,EXPIRE等关键命令
                        Redis事务性支持操作演练 MULTI、EXEC、DISCARD等关键命令
                        Redis常用实用命令:KEYS *、randomkey、TYPE key、rename、renamenx、lastsave、client list、monitor等重要命令演练
                        连接操作相关的命令详解:
                        quit:关闭连接(connection)
                        auth:简单密码认证持久化
                        save:将数据同步保存到磁盘
                        bgsave:将数据异步保存到磁盘
                        lastsave:返回上次成功将数据保存到磁盘的Unix时戳
                        shundown:将数据同步保存到磁盘,然后关闭服务远程服务控制
                        info:提供服务器的信息和统计
                        monitor:实时转储收到的请求
                        slaveof:改变复制策略设置
                        config:在运行时配置Redis服务器
                        value操作的命令详解
                        对String操作的命令详解
                        对List操作的命令详解
                        对Set操作的命令详解
                        对Hash操作的命令详解
                        支持多DB详解演练
                        INFO服务信息详解
                        Redis的java客户端类包Jedis下载
                        修改计数器jsp代码count_redis.jsp支持自动持久化的cache
                        最后总回顾整体本次系列高并发大数据架构