• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

从小站到大站的技术架构优化之路-网站架构与前端服务性能优化

 

一、课程目的

2015年,5月的某天,正在上班,突然看线公司群里开始发出携程网访问500的信息,于是乎,大家小扯的一下,大家并没有想到后来发生的事情的事情会如此震惊,开始官方的微博确认问题为,正遭受攻击,但后来内部的技术人员泄漏出“数据库被物理删除!” 这个对于技术的人员来说,可以说是非常惊讶的消息,大家开始了各种疑问,怎么确定是数据库引起,作为一个大公司怎么会有这种问题产生,数据库作为底层核心,为什么恢复机制是那么薄弱。

陆续消息中,最后传出,由于运维人员的类似于自动化系统操作不当,造成几个系统的数据目录被清理。这个也人员失误最后也得到了官方的证实。

https://www.zhihu.com/question/30746844

2014年,当时应邀去成都的一家企业作mongodb的培训,公司正利用mongdb作为单一的数据仓库,他们选用2.4的版本,由于业务性质,主要存储客户车辆和交通位置信息,且mongodb很好的分片方式,避免了关系数据库的水平扩展。由于持续的数据写入,并且初期缺乏对mongdo管理维护的了解,导致当时一个collection的数据超过了150G,oplog的设置为200m的,导致性能极具下降。

2014、2015年正是微信公众账号的极速发展事情,很多小的创业团队,利用公众账号的平台大赚了一笔。15年中旬,接到一家公司老板打过来的电话,电话中着很急切的告知他们公司的服务目前正不断遭受类似于DDOS的恶意攻击,这种情况已经持续了一段时间,由于问题迟迟无法定位,导致线上核心服务无法正常运行,为此收到了很多顾客投诉反馈,若再无法解决,业务将没法正常开展,急需技术支持.

在这几年,或是而听、或是全身心经历,兼职技术支持,我接触了很多类似的案例,写这个课程的最基本的目的就是,总结经验和教训,为了避免走相同的路。

因......

    1、为什么要设计这门课程

 

     2、我们能学到什么?

                  2.1.1、一样的技术不一样的切入点

                   从整体到局部,从案例到总结 我们来讲解本课程

                  2.1.2、常遇到的内容不常明白的东西

                  基于个人实践案例,从其抽象出的互联网概念中,细节的介绍典型的案例实现。

                  大的问题,几乎都是由于细节的不注意引起,有的问题,我们常遇到,也容易疏忽,以至于导致造成的大问题。

                  2.1.3、一样的针对性适合不一样的人群

                  资深工程狮-看不同问题的处理手段、程序猿-了解不同领域的技术实现、技术小白-了解互联网技术架构的奥秘。

         没错,本课程我们要讲的是 “架构”“性能”、和 “实践”。                   

      3、讲解前言

                  3.1.1、讲解方式

                   金字塔形式的方式从上层到下层讲解,先:介绍技术架构模式、一般演变模式。总体介绍接入层、中层层、底层的技术架构,再着重围绕接入层性能优化展开案例分析。

                   课程若有涉及比较浅显的内容,本课程提供出对应知识点指引,并不作详述。

 

 
大章节 小标题 课程小节 内容介绍 预计时长(min) 课时小章(拆分成小课时) 预计时长(min)
课程设计前言 课程目的 1、为什么要作这期的课程? 介绍这门课程设计的目的,比如介绍一些由于我们在日常的工作中常常遇到的问题,或是由于网站整体设计时的考虑不足,导致后期的性能、功能扩展瓶颈,最后不得不考虑重构,学习完这门课程后,我们所作的东西更有前瞻性,思路能更复合公司的业务发展方向。或是由于单一的通过某一种思路或者方向上去考虑问题,导致功能、性能及安全的冲突,学习完这门课程后,我们学会多方面的综合分析,拿出最有效的方案。或是由于,目前企业中已经出现了各式各样的问题甚至到了瓶颈时期,一直到不到出路,这时借助这门课程来学习到一些我之前处理并且归纳好的经验,从而有助于帮助你走出问题困境。也许你只是了解互联网的一部分,那么我将带你进入到互联网的技术世界,看看一路从小站到大战中有多少的坑是可以避免出现的。 6    
2、课程找重点及注意事项 提高到架构,确实讲解课程内容有很多,好比一个金字塔,这个课程是带着大家从顶端往下分析,内容过于笼统,我们也就只能知道个大概,不知所以然,如果一个个深挖,就是一个幕客网所有视频的集合。                                                  所以,在这里特别的告诉大家,我们介绍的就是从上层说起,分别准备三大块内容:网站性能优化、开源应用、及框架应用及分析、网站安全三个课程分类进行。                                           即使是分了三个部分,也是有海量的内容存在,但是就目前互联网的常用架构及工作模式,我们针对性的介绍一些,针对性的介绍具体某一个案例时,我将把设计到的基础内容以别的方式提供,或者引升到。案例部分详细介绍,注意了:重点是思路总结,我们需要掌握的就是这个。                            介绍三门课程前端服务性能优化 中间层、底层开源服务、安全分别将介绍的内容。 5    
3、我们能学习到什么? 学习到什么,我想不用多介绍,就如本课程的标题一样,如果你能一一的按照课程的内容学习完,那么你将从总体上对网站架构有把控。相信借助课程中实践的经验总结,你也将收获到可贵的经验,从而以后的工作中少走弯路。 2    
  主要内容          
常见的网站部署架构模型 小站的常用部署架构 1、集中方式 1、介绍单机部署特点 2、存在的优点和缺陷 3、典型的集中式架构演示 10    
   
2、BS\CS架构模式 1、介绍什么是BS及CS的架构模式 2、介绍BS\CS的架构模式特点 3、集中模式到BS\CS模式需要注意问题 4、典型的BS架构演示  10    
   
   
大站的常用部署架构 1、分层服务化部署 1、水平拆分与垂直拆分 2、常用的分层模式案例 3、应用、数据分层演化 10    
   
   
2、分布式架构 1、什么是分布式架构 2、SOA面向服务模式 2、互联网中常用的分布式架构案例 3、CDN网络 4、GLSB的实现  10    
   
4、服务的接入层、中间层、底层 演示服务接入整体架构,总体分析本课程中前端接入层,中间层底层服务有哪些。 10    
   
   
   
从小站到大战演变 4、架构演变 1、阐述架构演变模式 2、开发语言性能优化 3、整体架构的稳定性 4、网站架构设计中的矛盾 5、水平拆分与垂直拆分 10    
   
   
   
网站架构设计核心 衡量架构设计好坏的标准 1、网站性能中的可用性和可靠性 1、可用性与可靠性介绍 2、网站性能指标参数讲解 5    
   
2、网站扩展能力 1、网站架构设计之初该考虑的扩展性 2、案例分析:扩展性考虑缺失而导致的隐患 网站上线初期带宽预估不足导致页面加载缓慢   tomcat多个服务部署与独立部署的矛盾 5    
   
前端服务常用重点技术 Web前端性能优化 1、接入端性能优化常见方法 1、接性能优化逻辑 2、js代码结构优化 3、多线程、异步、非阻塞实现 3、 120 1、网站接入层性能优化逻辑 10
2、常用的接入前端服务结构(JAVA、PHP、PYTHON) 10
3、Tomcat独立部署还是选择整合部署? 10
4、服务的动静分离实现 15
5、LAMP与LNMP 15
6、Tengine对比nginx 15
7、linux系统下的多线程 15
8、程序的异步与非阻塞实现 15
9、Linux系统下的IO模式 15
2、Nginx服务优化 1、详解轻量级Nginx服务及优化 2、Nginx代理详解 3、Nginx服务常用结构及优化手段 70 1、Nginx为什么能脱颖而出 10
2、Nginx系统性参数优化 15
3、代理服务 15
4、负载均衡 15
5、静态资源服务 15
3、负载均衡服务 1、负载均衡实现特点 2、常用的负载均衡实现方式 3、LVS方案的高可用设计及实现 45 1、负载均衡的基本原理 15
2、不同场景下的负载均衡技术实现 15
3、LVS 15
4、持久化缓存 1、持久化与非持久化 2、构建高性能的Redis持久化集群 3、Mongodb分片集群可用性介绍及注意事项 50 1、什么是持久化和非持久化? 10
2、Redis中的持久化和非持久化实现 15
3、Mongodb和redis集群对比 10
4、Mongodb和Redis分片集群的实现对比 15
5、非持久化缓存 1、一致性哈希与哈希取模的算法实现 python程序为例 2、数据级缓存设计实现逻辑 python、php程序实现为例 3、memcache开发使用过程中的那些坑 30-40 1、非持久化缓存的特性及应用 10
2、用Memcache构建高可用非持久化集群 15
3、程序演示Python中实现一致性哈希的实现 15
6、页面缓存服务 1、页面缓存的作用 2、Nginx\Varnish\ATS\Squid缓存加速区别 3、如何有效的使用Vanrish缓存加速 20-40 1、什么时候应该考虑页面缓存 10
2、页面缓存的实现已及各种类的缓存应用对比 10
3、静态内容缓存实现分类 10
4、Varnish静态动态接口页面缓存的实现 15
  案例 1、应用混部导致网站性能故障 10    
2、归纳应用部署常见的错误 10    
3、日志错乱写入引发的故障 10    
4、归纳日志管理不善导致的其他影响 10    
5、不好的编程习惯引发的故障 15    
6、归纳编程习惯导致的问题 15    
7、缓存操作不合理导致的系统性崩溃 20-30 1、连接数限制设置过小导致缓存的短链接性质受限 10
2、哈希取模的算法实现容易导只能 10
3、缓存数据内容维度对接口功能的影响 10
8、归纳缓存的使用不当造成的影响 10    
前端服务架构设计总结 1、接入层服务架构设计逻辑总结 15    

从小站到大站的技术架构优化之路-网站架构与前端服务性能优化

Pingbacks已打开。

引用地址

暂无评论

发表评论