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

一、课程目的

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    
时间: 2024-10-28 08:09:19

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

实例jie如何提高Java Web 服务性能优化实践

本文介绍如何提升 Java Web 服务性能,主要介绍了三种方法:一是采用 Web 服务的异步调用,二是引入 Web 服务批处理模式,三是压缩 SOAP 消息.重点介绍在编程过程中如何使用异步 Web 服务以及异步调用和同步调用的差异点.本文还示范了如何在项目中使用以上三种方法,以及各种方法所适合的应用场景. Java Web 服务简介 Web 服务是一种面向服务架构的技术,通过标准的 Web 协议提供服务,目的是保证不同平台的应用服务可以互操作.Web 服务(Web Service)是基于 X

《Oracle数据库性能优化方法论和最佳实践》——第1章 Oracle性能优化漫谈 1.1 从生活场景漫谈性能优化

第1章Oracle性能优化漫谈 1.1 从生活场景漫谈性能优化 Oracle数据库性能优化一直是一个让人既胆怯又兴奋的话题,在初级DBA眼里,这是一个神秘的领域,即使是资深的Oracle DBA,也可能无法描述清楚性能优化究竟要做什么,应达成什么目标.那么性能优化究竟是做什么的呢?简而言之,性能优化就是让我们的工作速度变快,快到让我们满意为止.自然,又有读者会问了,我们的工作是什么呢?什么程度才算快,是否可以衡量?看,头疼的问题又来了.1.1.1 从一个真实病例说起 下面是本人的真实经历,也许很

网站运营优化一定要树立一切为用户服务的优化理念和思维

中介交易 SEO诊断 淘宝客 云主机 技术大厅 众所周知,随着搜索引擎不断的算法升级,网站运维优化工作也是水涨船高,在目前seo越来越不好做的情况下,如何独辟蹊径寻找适合自己的操作策略并且以此来符合搜索引擎的排序规则是我们在优化过程中不得不慎重思索的问题,笔者认为一个优秀的网站运维工作者在优化过程中对于细节问题的把握是至关重要的,笔者认为当下我们进行seo优化一定要树立一切为用户服务的优化理念和思维,好了闲话短续我们进入今天主题. 第一,网站用户体验是基础树立为用户服务的理念是关键. 随着搜索引

seo优化-浅谈网站架构的优化

网站的架构:网站的结构组成,网站的主体,跟内容相辅相成,形成一个站点. 影响网站的收录顺序,爬虫爬行通过的轨迹. 框架构造: 考虑整个网站的框架结构,包含什么部分,分别是什么内容,之间有什么联系.构建网站框架的设计图, 首页-导航(哪个放最前面,兼顾两个因素:SEO,用户人群习惯)-二级目录 --公司的联系方式,留言板,兼控人的习惯.如果更新频率最高,放第一最好,但是也得兼顾人群的习惯.以人的习惯为主导因素.按常规情况考虑.稍微有前后顺序变化.如果不足,放在其他底下的位置弥补. 互动性的东西比较

mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)_Mysql

此配置是老男孩生产线上使用的配置,在培训的时候,他给的,我在这里,对各参数添加了中文说明 这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数 MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-rehash [mysqld] user = mysql port = 3306 socket = /data/3306/my

浅析如如何优化你的网站的载入时间和性能

  随着互联网的飞速发展,在今天互联网已经是一个借助很快的平台,网民们都想在最短的时间内找到自己想要的信息.根据Akamai(国际上最大的CDN服务商)的调查,如果一个网页加载时间超过4秒,那么有75%的访客会直接退出.这对于我们站长们是什么警示?答案非常简单,作为站长的我们需要优化网站的加载时间,否则你就会失去你的访客.那么我们如何优化加载时间? 一:缩小你的站点的脚本和CSS文件   加快你的网站的加载速度方法之一就是减少HTTP的请求数量和减少站点整体的大小.我们可以使用Minify这个免

网站前端的性能优化与测试——内容过期

最近在搞网站的界面UI改版,除了少数的几个页面外,全站基本统一了界面风格,在解决各种浏览器兼容问题的时候,不经意搜到一个FireFox的插件 YSlow for Firebug,他是开源的网站优化工具,用于测试网站的前端性能.在YSlow的评价性能等级上,有十三条规则:1. Make fewer HTTP requests,2. Use a CDN,3. Add an Expires header,4. Gzip components,5. Put CSS at the top,6. Put J

APMCon2017 | 一大波技术大神来袭,你要的性能优化干货这里全都有

APMCon2017 | 一大波技术大神来袭,你要的性能优化干货这里全都有 在波涛汹涌的技术世界里,如果不希望自己的小船说翻就翻,就需要跟着大神多学学, 所谓听君一席话,胜读十年书.现在就有个跟着大神学技术的好机会 就在今年的8月10-11日,听云联合了极客邦科技 / InfoQ将共同主办国内第二届应用性能管理大会-APMCon 2017,会议内容聚焦了行业内最新的技术和最接地气的实践案例,将共同探讨APM相关的性能优化.技术方案以及创新思路,可以为更多的行业从业者指点应用效能提升的迷津.就在第

阿里资深技术总监:基于大数据的全球电商系统性能优化

本文首先介绍AliExpress电商系统的理论基础,通过页面间跳出率的计算引出全栈优化的思路.然后,介绍AliExpress平台的设计思路和性能优化过程,以及AliExpress使用过的几个有效的优化策略:动态加速.静态化+ESI.元素合并请求.CDN调度优化等.最后,用实例展示了性能优化带来的结果,并对架构设计的过程提出了几点思考和总结. 1整个系统的理论基础 这张图代表流量分布和跳出率的关系.一个用户放弃使用一个网站或者APP的行为叫做跳出.上图中,横轴代表延迟区间,纵轴代表流量分布.绿色的