文档章节

高并发高访问网站构建

wenqi_arthur
 wenqi_arthur
发布于 2014/09/15 01:08
字数 1197
阅读 1064
收藏 44

IT168 专稿】2012年春节,铁道部推出12306网站,进行网络实名购票。每一个返乡人原以为能买着一张回家的火车票,但结果还是大失所望。7天内,12306网站访问用户已占全球互联网用户的0.902%,每天点击量高达10亿人次,系统一度支撑不住如此庞大的访问量而陷入崩溃,针对12306的责难也不绝于耳。

  对此,中国铁路客户服务中心透露,目前,铁道部已启动了新一代客票系统的规划和设计。考虑采用云计算架构,对现有的客票系统进行全面的优化和改造。对此,IT168采访了某互联网公司系统管理员林学谦,针对大型高并发高性能网站架构广泛征集意见,他为12306网站提出优化建议,并对更多有需要构建大型高并发高性能网站的用户提供参考。

  12306订票网站存在哪些需求特点和挑战?

  总体而言,12306订票系统具有三个明显的特点:一、高峰时段并发读写量巨大; 二、区域请求明显不均匀;三、数据库数据量巨大。

  系统面临的挑战和难点:一、如何处理高峰时期的并发读写;二、区域性页面访问的加速(CDN)部署;三、海量数据的存取速度和灾备。

  国内的大型网站还包括淘宝、京东、新浪等,您认为12306的访问模式和淘宝、京东存在哪些异同?

  前端都有CDN,将静态内容放到这一级,并配合其他CDN的应用模式;下一级负载均衡应该是DNS,将流量均匀分配到不同的IP;再下一级应该是LVS,将访问请求分发到不同的物理服务器,然后再下一层是存储层。但与12306订票系统相比,国内的大型网站已经具备了一定技术和管理优势:

  一、访问规模压力,高峰时期不在一个量级;

  二、有做近路由线路的CDN页面端的加速处理,用户访问产品页面速度比较快;

  三、技术研发团队力量强劲,网罗着一批国内最好的一些技术人才。

  从百万级、到千万级并发PV的网站,在构架和部署方面会存在哪些差异?以12306为例,您认为12306的需求属于哪个级别?

  12306网站的点击量属于千万pv级别,底层架构上一定要有网络带宽的保障,要求前端和库都有更好的业务承载能力(通过调高服务器配置或增加服务器数量),负载平衡器(前端调度和数据库负载平衡),有更好的智能业务调度能力来平衡负载,并且在一定程度下要保有一定的冗余服务器数量,可在业务量增加的情况下,进行业务集群承载能力的扩容。

  一个大型的高并发高性能网站架构需要从哪些层面去考虑和优化?

  要解决性能的问题,有很多种常用的方法,以下列举一类提升性能的方式: 

  一、服务器配置和环境调优;

  二、负载平衡服务器(或硬件或二次开发的);

  三、数据库结构设计;

  四、中间件优化;

  五、数据读写预估;

  六、介于前端和数据库间的类memcache层开发和使用。

  部署大型的高并发高性能网站架构需要注意哪些问题?存在哪些挑战?  

        一:智能负载平衡的重要性。数据分区可以在一定程度上减轻负载,但是无法减轻热销商品的负载,对于火车票来说,可以认为是大城市的某些主干线上的车票。这就需要使用数据镜像来减轻负载。使用数据镜像,你必然要使用负载均衡,在后端,我们可能很难使用像路由器上的负载均衡器,因为那是均衡流量的,因为流量并不代表服务器的繁忙程度。因此,我们需要一个任务分配系统,其还能监控各个服务器的负载情况。

  二:业务机器冗余的必要性。一方面完美的负载均衡很重要,另一个静态的方法的致命缺陷是如果有一台计算服务器死机了,或是我们需要加入新的服务器。


本文转载自:http://server.it168.com/a2012/0223/1315/000001315916.shtml

wenqi_arthur
粉丝 17
博文 69
码字总数 4580
作品 0
广州
私信 提问
加载中

评论(2)

wenqi_arthur
wenqi_arthur

引用来自“吴昭”的评论

貌似没有说道关键问题啊。。。
抛砖引玉哈哈哈
花未名
花未名
貌似没有说道关键问题啊。。。
大型站点高并发架构技术

大型站点高并发架构技术 高并发: 高并发主要是由于网站PV访问量大,单台服务器涌承载大量访问所带来的压力,所以会采用多台服务器进行分流,采用服务器集群技术,对于每个访问会被发送到哪台...

浮躁的码农
2018/01/15
0
0
[转]浅谈千万级PV/IP规模高性能高并发网站架构

[转]浅谈千万级PV/IP规模高性能高并发网站架构 Run - 学习练习复习2016-02-28161 阅读 架构IP并发 高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。 如果把来访用户...

Run - 学习练习复习
2016/02/28
0
0
微博服务器又炸了,快来看看如何一步步构建高并发的网站

如何构建高并发的网站 昨天的微博服务器又炸了,心疼微博三秒钟 。虽然网上各种嘲讽谩骂渣浪的,不过作为程序员细细想想感觉新浪还是很不容易的,毕竟它也没法知道哪个明星突然就出啥事了,面...

窗边的扁豆
2017/10/09
0
0
Redis学习笔记一:NoSql及Redis介绍

一.NoSQL介绍 NoSQL(Not Only SQL),意为反SQL运动,是一项合新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。它指的是非关系型的数据库。随着互联网web2.0网站的兴起,...

孟飞阳
2016/07/04
82
0
构建高并发&高可用&安全的IT系统-高并发部分

什么是高并发? 狭义来讲就是你的网站/软件同一时间能承受的用户数量有多少 相关指标有 并发数:对网站/软件同时发起的请求数,一般也可代表实际的用户 每秒响应时间:常指一次请求到系统正确...

科技小毛
2017/09/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

texlive安装

Installing to: D:/bin/texlive/texlive/2019Installing [001/307, time/total: ??:??/??:??]: adobemapping [2130k]Installing [002/307, time/total: 00:03/08:57]: ae [84k]Installing......

MtrS
27分钟前
2
0
运维规范

命名规范 发布流程 监控告警 故障定位 状态 日志 监控

以谁为师
今天
2
0
约瑟夫环(报数游戏)java实现

开端 公司组织考试,一拿到考题,就是算法里说的约瑟夫环,仔细想想 以前老师将的都忘了,还是自己琢磨把~ package basic.gzy;import java.util.Iterator;import java.util.LinkedList;...

无极之岚
今天
3
0
Kernel字符设备驱动框架

Linux设备分为三大类:字符设备,块设备和网络设备,这三种设备基于不同的设备框架。相较于块设备和网络设备,字符设备在kernel中是最简单的,也是唯一没有基于设备基础框架(device结构)的...

yepanl
今天
3
0
Jenkins 中文本地化的重大进展

本文首发于:Jenkins 中文社区 我从2017年开始,参与 Jenkins 社区贡献。作为一名新成员,翻译可能是帮助社区项目最简单的方法。 本地化的优化通常是较小的改动,你无需了解项目完整的上下文...

Jenkins中文社区
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部