大型网站高并发架构与自动化运维实战
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大型网站高并发架构与自动化运维实战
运维工程师解决的问题?
1、1000台服务器规模,JAVA和PHP混合环境,如何构建一套高效的从测试环境代码测试到正式环境的代码发布、回滚以及软件更新、配置变更的可实施的解决方案及规范流程制度?
2、电商秒杀:前10秒100万并发抢购,请设计个方案解决之?
3、6个机房,近1000台服务器如何设计一套所有账号统一管理的解决方案?
4、不考虑硬件资源及带宽,请设计一套可行的网站架构,解决大流量DDOS攻击问题,请分层逐一详细说明?
5、500台服务器规模,如何实现跨机房容灾,即一个机房宕机,其他机房可以最快接管提供服务
什么是运维工程师?
一个互联网产品的上线流程
1、首先公司管理层给出指导思想,PM定位市场需求(或copy成熟应用)进行调研、分析、最终给出详细设计。
2、架构师根据产品设计的需求,如pv大小预估、服务器规模、应用架构等因素完成网络规划,架构设计等(基本上对网络变动不大,除非大项目)
3、开发工程师将设计code实现出来、测试工程师对应用进行测试。
4、好,到运维工程师出马了,首先明确一点不是说前三步就与运维工作无关了,恰恰相反,前三步与运维关系很大:应用的前期架构设计、软/硬件资源评估申请采购、应用设计性能隐患及评估、IDC、服务性能\安全调优、服务器系统级优化(与特定应用有关)等都需运维全程参与,并主导整个应用上线项目;运维工程师负责产品服务器上架准备工作,服务器系统安装、网络、IP、通用工具集安装。运维工程师还需要对上线的应用系统架构是否合理、是否具备可扩展性、及安全隐患等因素负责,并负责最后将产品(程序)、网络、系统三者进行拼接并最优化的组合在一起,最终完成产品上线提供用户使用,并周而复使:需求->开发(升级)->测试->上线(性能、安全问题等之前预估外的问题随之慢慢就全出来了)在这里提一点:网站开发模式与传统软件开发完全不一样,网站一天开发上线1~5个升级版本是家常便饭,用户体验为王嘛,如果某个线上问题像M$ 需要1年解决,用户早跑光了;应用上线后,运维工作才刚开始,具体工作可能包括:升级版本上线工作、服务监控、应用状态统计、日常服务状态巡检、突发故障处理、服务日常变更调整、集群管理、服务性能评估优化、数据库管理优化、随着应用PV增减进行应用架构的伸缩、安全、运维开发。
课程大纲:
第一课:介绍大型站点运维到底是什么?应该具备哪些能力
1、简要介绍Linux运维需要完成的是那些工作,简单介绍现在企业中用的最多的三大web 服务器
2、简单介绍为什么大型站点(阿里巴巴、腾讯、京东)等网站需要部署负载均衡
3、简单介绍为什么大型站点需要部署高可用、缓存服务器
4、学完本课程学院能具备什么样的技能、达到什么样的高度
5、本次课程学员需要自己前期准备的基础开发软硬件环境
第二课:讲解主流三大web服务器之Apache服务器(httpd服务器)
1、讲解什么是http协议、http协议有哪些版本、现在企业使用的主流http版本是什么
2、讲解一次完整的web请求响应的交互过程、什么是web事务
3、讲解web服务器基础原理、基于socket通信相关的系统调用
4、详细讲解httpd服务器的内部3大工作模式、httpd的功能特性
5、通过rpm包、源码编译安装两种方式对比实战讲解Apache服务器的工作特性
6、实战讲解Apache服务器的各类特殊功能的配置实现
第三课:通过部署互联网的主流的wordpress博客站点讲解lamp架构
1、讲解为什么淘宝网最早期使用lamp架构、怎么优化成为如今的架构
2、通过使用rpm安装lamp并部署wordpress博客站点、来说明lamp架构的组成
3、通过编译安装lamp架构并部署wordpress博客站点、来讲解怎么优化lamp属性
4、编译安装lamp及通过xcache缓存opcode;来提高lamp架构的性能
第四课:讲解主流三大web服务器之nginx服务器
1、讲解nginx的工作模式,并对比httpd服务器来说明其具有哪些性能优势
2、讲解nginx主进程主要完成哪些工作、worker主要完成哪些工作
3、通过rpm包、源码编译安装两种方式对比实战讲解nginx服务器的工作特性
4、实战讲解nginx服务器的各类特殊功能的配置实现
第五课:通过部署互联网的主流的discuz论坛站点讲解lnmp架构
1、通过使用rpm安装lnmp并部署discuz论坛站点、来说明lamp架构的组成
2、通过编译安装lnmp架构并部署discuz论坛站点、来讲解怎么优化lamp属性
3、同时部署lamp架构、lnmp架构并使用并发测试工具,测试大并发下那种架构性能更好
第六课:讲解淘宝网现在正在使用的负载均衡技术lvs
1、讲解服务器集群的相关概念
2、讲解lvs的几大工作模式的工作原理,以及分析每种模式的性能瓶颈会出现在什么地方
3、实战讲解lvs的nat、dr模式的实现
第七课:讲解服务器集群中主流的高可用服务corosync+pacemaker
1、讲解高可用集群的基础概念
2、实战讲解怎么使用corosync+pacemaker实现mysql服务的高可用
3、实战讲解怎么使用corosync+pacemaker实现nfs服务的高可用
第八课:讲解反向代理服务器haproxy的实现
1、通过优化web系统架构引导出反向代理服务器haproxy
2、代理服务器haproxy的作用
3、实战讲解怎么部署haproxy服务
第九课:讲解缓存服务器varnish的实现
1、通过优化web系统架构引导出反向缓存服务器varnish
3、讲解varnish的状态引擎的工作流程
2、实战讲解怎么部署varnish服务
第十课:讲解主流三大web服务器之tomcat服务器01
1、讲解tomcat的工作机制
2、实战讲解httpd及nginx反向代理tomcat
3、通过一个电商平台的部署实战讲解tomcat
第十一课:讲解主流三大web服务器之tomcat服务器01
1、实战讲解tomcat集群的实现
第十二课:讲解淘宝网早期使用的轻量级高可用服务keepalived