课程简介:
随着互联网的发展,高并发、大数据量的网站要求越来越高。而这些高要求都是基础的技术和细节组合而成的。本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练。
通过该课程的学习,普通的技术人员就可以快速搭建起千万级的高并发大数据网站平台。
亮点一:真实环境还原,课程采用了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
最后总回顾整体本次系列高并发大数据架构