关于网站大访问量的几点构想

关于网站大访问量的几点构想


从构架师的角度去分析和解决一个网站可能会出现的问题。


动态网站运营基础知识的修炼

1、网络互联知识

网络基础:TCP/IP模型、OSI七层协议模型、路由交换的基本通信原理、路由策略的规划和部署以及优化路由通信协议、网络访问最短路径优化设计、内外网访问策略限制

2、Linux服务器知识及各种资源访问控制策略的制定

服务器基础、网站组件特性、基本原理、各种瓶颈分析、最优设计、资源最优整合、各种暴力压力测试、监控报警系统测试、IDS***坚持系统的部署、防火墙部署、内网访问控制及上网行为管理策略、核心业务必须制定出详细上网突发事件的解决方案、一般应急处理方案、最后是组成网站所需的各个节点瓶颈、硬件设备瓶颈、应用软件的优化解决方案

3、PHP动态编程知识

4、构建开源动态网站组件的选择及压力测试。

5、以上知识只具备一点,如只懂linux服务器或者只懂编程都不是最完美的答案,都不能够被称之为一个合格的架构师。因为仅仅懂某一个知识点是不能够让一个网站运行的非常的顺利的,更不要说去应对一些突发事件了。所以说对以上知识的储备从构建一个高质量的动态网站角度来讲是非常必须的。要知道,战场上一把宝剑和千万把宝剑的威力是不成正比的。

6、最基本也是最重要的,决定你能否在中国大陆成长为一个顶级的或TOP系列的架构师所必备的核心技能:英语文档的阅读及相关的知识点总结灵活应用的能力。因为权威的、第一手的最新研究成果或者新技术肯定是用英文写出来的,即使是非英语国家的人员研究出来的也会以英文文档的形式在国际权威部门发布的哦!业务时间学习英语已刻不容缓!


大型WEB解决方案

议程:

网络发展与运营的同时,用户量、数据量、

访问量都在不断的增长,每个快速发展的网站都将面临执行、效率、高访问、高并发和高度复杂的数据处理等问题。传统网站的开发模式已经不能满足我们的需求。那么,如何解决网站的大访问量、大存储、大数据量、大流量、大负载、瞬间爆发、查询维度多、动静分离、访问速度滞缓等问题呢?


1、如何从一个构架师的角度去分析网站的运营?

2、如何去解决网站运营中出现的突发事件?


网民数量的极具增多和带宽的限制带给我们的难题?

2000年左右开始我国的网民数量的增长速度,和2000年开始到现在我国的带宽的增长速度呈非对称的比例增长,由此给各个门户网站,尤其带给动态网站的压力以及相关的解决方案已刻不容缓。

总的来说分为以下几点:

(1)大的访问人群和大的并发量该如何应对?

(2)大的访问量和并发量带来的是大量数据的存储以及索引读取,如何去解决一个动态网站大的存储量?大的数据量?数据库一般是构成动态网站的主要瓶颈之一,如何去设计数据库以提高网站的访问速度给予客户第一时间响应动态网站所提供的数据。

(3)因为数据库的增删改查可能会浪费服务器的很多性能。那么, 如何去避免DBMS(数据库管理系统)CPU和内存造成很大的负载

(4)如何去应对一个动态网站并发用户瞬间爆发?如何去分流不同用户群体到不同的服务器以降低对服务器的冲击力和负载?


网站运营总结

1、大访问量

其典型症状是:同一个时间段内的并发群体过高,带给服务器很大的负载。尤其是WEB服务器,会带来很大的冲击力。

2、大存储量

访问人群过高,最终的带给网站的是数据访问量和数据存储量突然的增加。如何来应对?

3、访问速度

在目前国内,南北网络互联互通的解决方案、以及有限带宽的前提下,如何给网站提速,如何让国内和国外的访问群体更快的去访问你的网站?或者说来降低去访问你的数据库的压力。

以及如何给网站的整体架构提速?

4、服务器监控

大中型公司的服务器肯定不止一台。如何有利、高效的去监控你的服务器,尤其在关键业务节点上面。譬如,磁盘的空间、网卡的流量以及服务器的WEB和其他应用程序是否宕机、某些应用程序是否挂起、是否对外界已经没有响应等等。


大访问量

1、负载均衡

2、冗余技术

是两种完全不同的技术,可以完全独立存在。

大访问量-负载均衡

负载均衡技术是把众多的访问人群以及流量分担到不同的网络设备以及不同的服务器的过程。

负载均衡让每个服务器压力更小、负载会更低。


1、Cisco以太网通道

2、Windows NLB技术

3、Linux LVS技术

4、F5等负载均衡器

图解:负载均衡技术

132655853.png

负载均衡能够把众多的访问人群到达服务器的时候给服务器做负载均衡的技术。


客户端的数据流到达服务器的时候,第一个人来访问的时候会访问第一台服务器,第二个人来访问的时候会访问第二台服务器,第三个人来访问的时候会访问第三台服务器。

第四个人来访问时访问第一台服务器,

第五个人来访问时访问第二台服务器,第六个人来访问时,访问第三台服务器。总之整个的一个过程是循环圈,专业名词美其名曰:轮询。

是以轮询的形式分担到不同的服务器上去。

这样的话就把访问人群的数据流平均分担到各个服务器上去,让各个服务器的压力更小,此过程就叫做负载均衡技术。


要点:负载均衡技术所面对的几台轮询服务器,这几台服务器都能够为外界提供响应,换言之,也就是说这几台服务器都是处于激活状态的。



大访问量-冗余技术

冗余技术和负载不同的是,数据到达某一台服务器或是一台网络设备,如果此服务器或者网络设备宕机或突然断电、或者是服务器崩溃;那么,带来的结果是这台服务器可能无法给客户端响应数据,此时呢?就需要在服务器旁边再放置另外一台服务器作为备份。此过程就叫做冗余。

当两台服务器中的某一台服务器出现宕机或不能为外界提供服务的时候,备份机能够为客户提供服务,这个过程就叫做冗余。


冗余主要避免的是单点故障。

当故障出现时,以极快的响应速度切激活、换至备份机,期间的变化对于用户来说是透明的,用户并不知道给与它响应的那台服务器已经宕机。


冗余技术有网络技术,但更多的是偏重于服务器本身的一些应用,如服务器集群、数据库集群、LDEP、域用户管理集群等。



集群技术

集群圈里面的设备再多也只能是一台设备处于激活状态,为用户提供响应。

而其他的服务器你可以认为服务器都已经关机或者死机,专业点的名词是其他服务器在集群圈里面处于休眠状态。


132735351.png

132742283.png


集群特征:只有一台服务器是处于激活状态

此思路是集群最核心的基本和宗旨。


把负载均衡+防止单点故障的冗余技术全部组合在一起,才是想象中的把多台计算机组合在变成一个超级计算机的一个过程。

没有负载均衡,集群只能只是有一台休眠,而不会整体的把能力组合在一起,进行任务分担。



大访问量-负载均衡

1、Cisco以太网通道(网络层级)

132855720.png

134117637.png

Cisco的以太网通道可以简单的分布在三层交换机上面来实现,两个部门或者两个公司之间通信的数据,如音频和视频数据等数据量特别大的时候,需要占用较多的带宽资源,此时就需要增加带宽量。一般我们看到的交换机之间的线缆是一根线缆。(1)

如果采用了思科的或者H3C的以太网通道以后(2)则,可以在两个交换机的多个端口之间连接多根线缆(可以是光纤,也可以是双绞线)

若是采用图1的方案,则以太网通道的传输速率是100MB;而采用图2的解决方案,则以太网通道的传输速率提高了4倍,也就是400MB

数据传输时,若是有4个数据则平均分担到四个线路进行传输,也就是说带宽是以前的4倍。且,若其中一条信道出现问题,不会影响到其他3条信道的数据传输。

就等于把马路又拓宽了三个车道,单车道,扩展为4车道。

2、Windows NLB技术(服务器层级)

3、Linux LVS技术(服务器层级)

134243429.png

133006755.png


A公司的多个用户通过公司交换机,经过路由器到达另外一家公司,去访问它里面的WEB服务器,如果使用了LVS负载均衡有什么好处呢?

可以负载和分流到不同的真实的WEB服务器,当A公司的多个员工去访问 B公司的WEB服务器的时候数据会被相应的分流开,通过中间的这台linux LVS调度器(调度器达到的最主要的目的是:用户群体过来以后可以进行分流,而且是平均负载和平摊到每台服务器上面)

此处用到的技术无非就两种:

(1)NAT(网络地址转换)技术

(2)DR(直接路由)技术


4、F5等负载均衡器(网络层级)

133124622.png

F5价位在100W左右。


133144694.png

133210682.png

大访问量-冗余技术

1、Cisco HSRP热备份路由

2、Windows集群技术

3、Linux HA集群技术

4、IBM AIX集群

冗余技术:

1、网络层面的冗余技术

2、服务器层面的冗余技术

CiscoHSRP属于线路的冗余技术,

133231851.png

133247356.png

所谓的热备份路由就是:在两台路由器的前端会虚拟出一个小的路由器,所有的人把网关都指向小型路由器上面去;小型路由器不是真实存在的,是由两台真实的路由器计算而得来的。

当用户群体把网关指向小型路由器的时候,小型路由器知道它背后的那台路由器是处于激活状态的;则哪一台处于激活状态就通过此台路由器去访问外面的世界。而另外一台路由器则处于休眠和备份状态。


当第一台路由器出现了问题,小型的虚拟的路由器会判断且能够知道在此集群组里面哪个路由器已经出问题,哪个路由器没有出问题。

会自动选取未出问题的路由器来做下一个活跃的路由器,来为用户上网转发出去。

133344787.png







服务器集群

服务器集群就是指将很多服务器(集群组)集中起来一起进行同一种服务,在客户看来就像是只有一个服务器。

集群可以利用多个计算机进行并行计算从而获得很到的计算速度,也可以利用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。

133406204.png






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章