这里说的大型网站,是指PV在千万级别以上的,面向全部互联网用户访问的。
简略说:
贴近用户,分布,分层,权责明确,可靠可追溯。
贴近用户:一是体验风格要贴近用户,面对千万的网民,一定要以大众化的方式呈现,过于另类和奇葩的东西大众很难接受。
二是网络资源要贴近用户,你的服务器资源放在南非的某个小国家,国内的网友访问速度怎么也上不去。要与网友在地里位置上贴近,通过自建机房或租用CDN镜像的方式把服务器资源放置在离用户最近的地方。
分布:一是地域上的分布,二是应用请求的分布。网友访问你的网站首页,服务器响应请求并发送信息到网友浏览器。
这里面有文字的新闻,新闻里的图片/音频/视频,页面样式的文件(css,按钮背景图片等)可能还有脚本引用(jQuery插件等一堆的js文件),网友发表的评论和他收到的来自其他网友的信息等。
这些里面除了最后一个,前面三类都是通用的,通过缓存/镜像等方式提前准备好推送到网友最近的服务器。
文字的东西不大,重点解决图片和CSS类的,图片我们启用多组图片服务器并使用多个域名轮循使用,一来提高速度(浏览器单域名并发请求有限制),二来提高可靠性。
CSS类的,一些按钮啊、边框啊、背景图片什么的,一个网站下来可能有上百个,一个一个地请求加载这100多个文件,哪怕很小也要很长的时间。
我们采用“图片地图”的方式,把这一百个图片拼成一个大图,用的时候通过css取这个图上的不同区域范围显示,拼接得紧凑一些,不会比原来大很多,但只要一次请求就够了,时间就是这么节省的。
分层:网友访问,首先响应的是缓存服务器(Varnish,Squid,nginx),这类响应速度快,负载能力强,易维护扩展,缓存不能提供的再请求动态应用(php,tomcat,weblogic,ASP等),
动态应用也不直接访问数据库,先访问数据缓存(Java缓存,Memcache,ehcache等),这些都没有了再访问数据库(MySQL,Oracle,DB2等)。
一个典型的:varnish>>apache>>tomcat>>ehcache(Memcache)>>MySQL。按平均命中率90%来计算(做好设计的话,这已经很低了),10000次前端访问才带来一次数据库访问。如果数据库能抗几百并发的话,千八百万PV的网站不是轻而易举的么。
发生了访问缓慢,就具体分析瓶颈卡在了哪一层上了,然后扩展即可。
有的前面的分布部署,权责明确就好弄了。
95%以上的网友操作都是浏览,从缓存里直接取就是了,不需要访问数据库。
网友注册慢,就把注册的服务单独拎出去,并扩展优化增强。
而不会因为注册的人多,让整个网站访问都变得困难。
可靠可追溯,互联网拼的就是用户体验。一个网站文章写得非常好,但打开要30秒钟,可能用户等5秒钟还没结果就把浏览器关了。
一定要可靠,对上面的分层分组,确保每个组里发生一台或多台崩溃的情况下,系统仍能提供服务(可以速度慢),消除单点。
可追溯,通过多种log日志记录,监控记录(Zabbix等)的手段全程记录网站运行情况。尤其能记录到单个或多个崩溃前后系统都发生了什么,
运维人员能够从中分析原因,做好预防。
==================================================================================
http://loveqinghe.iteye.com/blog/1962711
http://loveqinghe.iteye.com/blog/1969733
分享到:
相关推荐
### 浅谈大型网站的SEO策略及如何执行 #### 一、知己知彼 在进行SEO策略规划前,首先要做的是全面了解自己的竞争对手及其市场地位。这一步骤至关重要,因为它能够帮助我们更好地定位自身网站,并制定出更具针对性...
### 浅谈基于Drupal网站开发过程 #### 一、引言 Drupal是一个开源的内容管理系统(CMS),使用PHP语言编写,支持多种数据库系统如MySQL和PostgreSQL。Drupal以其强大的功能、灵活的架构和活跃的社区支持著称,适用于...
标题与描述:“使用Mysql来搭建可扩展的SNS网站(浅谈)” 知识点解析: 在探讨使用MySQL来搭建可扩展的社交网络服务(SNS)网站的过程中,文章重点介绍了如何利用MySQL数据库来应对SNS网站特有的数据挑战,特别是在...
### ASP服务器脚本语言浅谈 #### 一、ASP的起源与定义 **ASP**(Active Server Pages)是由微软开发的一种服务器端脚本环境,用于创建动态网页或Web应用程序。它是一种简单而便捷的编程工具,使得开发人员能够轻松地...
网页需要根据不同类型的网站和用户需求进行定制,例如,大型门户站点可能需要复杂的功能和多板块布局,而个人博客则更注重个性化和视觉美感。设计过程涉及框架搭建、数据库构建、色彩搭配等多个环节,其中,计算机...
当前,分布式内存数据库系统已在各种大型网站中得到广泛应用,相关的研究和实践也在不断发展。随着技术的进步,未来分布式内存数据库在处理大规模数据、提供高速访问和确保系统稳定性方面将发挥更加重要的作用。
首先,企业对信息化的认识不足,虽然有意愿推进信息化,但在具体实施上缺乏专业人才和财务支持,往往将建立网站视为信息化的全部,导致信息化水平低下,信息资源利用率不高。其次,旅游企业信息服务能力有限,传统...
办公自动化管理是企业信息化建设的基础,它通过自动化工具提高工作效率,减少人力成本,如电子邮件、文档管理系统等。业务管理科学化则是通过ERP(企业资源规划)、CRM(客户关系管理)等系统,实现流程标准化,提高...
### 浅谈JavaScript库——jQuery与ExtJs的对比研究 #### 一、引言 随着Web 2.0和RIA(Rich Internet Applications)技术的普及,JavaScript作为一种前端开发的重要工具,逐渐占据了重要的地位。它不再仅仅是用于...
2. 加强农村地区的信息基础设施建设:提升网络通信设施的质量,降低资费,提高网络速度,确保网络安全,以便农民更好地接入和使用电子商务平台。 3. 提升农民的信息化素养:开展农民电子商务培训,提高农民对信息...
这种设计确保了电子文件的真实性和完整性,同时也提高了档案管理的标准化和规范化水平,为企业搭建统一的信息资源共享平台奠定了坚实的基础。 ##### (二)各板块功能明确齐全,系统性强 1. **档案管理板块**:该...
全球大型电商网站的测试基础架构设计与实践 AI测试和测试+AI 软件自动化测试体系建设实践 系统质量保证实践:从体系建立到实施落地 精准测试为金融业大型测试中心打造可视化、智能化的测试体系商业案例分享
1.2 **淘宝网浅谈**: - **个人网站**:淘宝网早期以个人店铺形式存在,依赖简单的网页技术。 - **Java时代**:随着业务扩张,淘宝采用了Java技术构建复杂的服务体系,提升系统稳定性。 - **创造技术**:淘宝不断...
- **浅谈软件开发工程(一)**:夏建嵬的文章可能是关于软件工程基础知识的介绍。 - **Sa1110 Linux移植手册**:姚文龙的作品聚焦于Linux操作系统在Sa1110平台上的移植过程。 - **PowerPC860T接硬盘方案**:周生兵的...