国内大型网站开发时的几点建议 转

news/2024/4/28 12:18:13/文章来源:https://blog.csdn.net/luky_dog888/article/details/83841721

 国内大型网站开发时的几点建议
从本节开始,我们将结合国内外大型IT网站在技术扩展方面的沉痛教训和成功经验,探讨在如今刚刚开始的Web 2.0时代如何应对国内网站即将面临的数据访问量增加(甚至是急剧膨胀)的问题,并提出一些供参考的策略和建议。

(四) 搭建科学的系统架构
构建大型的商业网站绝对不可能像构建普通的小型网站一样一蹴而就,需要从严格的软件工程管理的角度进行认真规划,有步骤有逻辑地进行开发。对于大
型网站来说,所采用的技术涉及面极其广泛,从硬件到软件、编程语言、数据库、Web服务器、防火墙等各个领域都有了很高的要求,已经不是原来简单的
html静态网站所能比拟的。以著名的Yahoo!为例,他们的每一个大型网站工程都需要大量相应专业人员的参与。

(五) 页面静态化
可不要小看纯静态化的HTML页面!其实在很多情况下,HTML往往意味着“效率最高、消耗最小”,所以我们尽可能使我们的网站上的页面采用静态
页面来实现。但是,对于大量内容并且频繁更新的网站,我们无法全部手动实现,因此可以开发相应的自动化更新工具,例如我们常见的信息发布系统CMS。像我
们经常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的。信息发布系统可以实现最简单的信息录入自动生成静态页
面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。

(六) 存储问题
存储也是一个大问题,一种是小文件的存储,比如图片这类;另一种是大文件的存储,比如搜索引擎的索引。
大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网
站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图
片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置优化以保证更高的系统消耗和执行效率。

(七) 数据库技术—集群和库表散列
对于大型网站而言,使用大型的数据库服务器是必须的事情。但是,在面对大量访问的时候,数据库的瓶颈仍然会显现出来,这时一台数据库将很快无法满足应用,于是我们需要借助于数据库集群或者库表散列技术。

在数据库集群方面,很多数据库厂商都有自己的解决方案,Oracle、Sybase、SQL Server等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案。因此,你使用了什么样的数据库,就参考相应的解决方案来实施即可。

上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用数据库类型的限制,于是我们需要从应用程序的角度来考虑改善系统架构,其中,库
表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略
对某个页面或者功能进行更小的数据库散列,比如用户表,按照用户ID进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。在这一方面一个现
成的例子就是搜狐。它的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,
最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。

(八) 缓存策略
这绝对不单指低级的缓存技术相关的编程,应从整个架构角度着眼,深入研究Web服务器、数据库服务器的各层级的缓冲策略,最后才是低级的缓冲技术
的编程。不同的Web服务器、数据库服务器及Web编程语言都有自己不同的缓冲策略。例如数据库存储方面,SQL Serve
2005中的主动式缓存机制,Oracle数据的cache
group技术,Hibernate的缓存包括Session的缓存和SessionFactory的缓存;Web服务器方面,Apache提供了自己的
缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力,IIS缓冲器技术;至于web开发语言,所
用缓存技术更存在很大不同,例如ASP.NET
2.0中提出了两种缓存应用程序数据和缓存服务页输出的策略,这两种缓存技术相互独立但不相互排斥,PHP有Pear的Cache模块,等等。

(九) 镜像
镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异。在镜像的细节技术方面,这
里不阐述太深,有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。

(十) 负载均衡
负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。
负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,基于LAMP解决方案的Lighttped+Squid是相当不错的解决负载均衡和加速系统的有效方式。

(十一) 硬件四层交换
第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。第四层交换功能
就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需
要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口
共同决定。

在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了。

(十二) 软件四层交换
大家知道了硬件四层交换机的原理后,基于OSI模型来实现的软件四层交换也就应运而生,这样的解决方案实现的原理一致,不过性能稍差。但是满足一定量的压力还是游刃有余的。

一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。

(十三) 软件投资问题
据报导,目前国内除了一些上市企业和特别大知名大公司以外,很少有企业在成本中考虑正版软件的购置费用。这种思维极有可能给中国互联网带来噩梦。
如果一些公司真正面临软件资金方面的困难,完全可以考虑使用开源世界的LAMP解决方案(Linux+Apache+MySQL+Perl、PHP或者
Python Web编程语言);否则,随着我国加入WTO范围的不断扩大,盗版打击必然越来越严。因此,“苟且偷生”必将自食其果。

另外,随着网络带宽日渐提升,WEB 2.0技术必将影响到网络世界的几乎每一个角落。因此,如何积聚技术人员进行技术攻关并进一步加强安全防范也成为一个日益严峻的问题,宜尽早纳入到公司的议事日程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_895078.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从招聘网站爬取职位信息小窥IT发展

想知道你的工作值多少钱?如果想小范围内转行,转哪个比较好呢? IT人恐怕逃脱不了加班这个魔咒,有的人想转行,最好是钱多事少离家近。 Snake 从拉勾网爬取职位信息,通过分析城市,职位和薪水的分布…

逆向-获取一个网站中一个功能的源代码

前言 只是一个分享经验贴,自己也是小白,对于逆向了解不多。只不过有需求,那么就要找出思路完成,分享一下我的思路。 范例 以在线JSON校验格式网站的压缩JSON功能逆向需求源代码 网址:在线JSON校验格式网站 1、首先…

scrapy爬虫项目--------http://v.hao123.baidu.com网站的爬取(内附:没有进行可视化的项目报告...........的链接地址)

继上一篇的博客scrapy准备工作完成后,今天正式开始scrapy的爬虫项目 ps:先看上一篇博客 scrapy项目----------爬取hao123影视 一、分析各文件含义 ---->所有的__init__.py文件 无实意,内部没有内容,主要用于同一目录下的文件…

网站开发Flask框架之ajax实现增删改查实例

Flask的简介及基本模式 Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配…

一起赚美元⑤ | Instapainting照片转油画服务,通过SEO优化,每月赚取3.2万美元的真实案例

译者:柚子 知识星球链接: 英文原文链接:https://www.indiehackers.com/businesses/instapainting Christ向我们介绍了通过自己建网站脱离经济困境的故事,这个网站从第一天开始就给他 每周创造1000美元的收入。 1.主人公简介&am…

科研必备网站(收藏夹吃灰系列)

分享一些科研必备的网站,也供自己找不到网址时检索。V2022年3月16日 1. 在线绘图网站 BioLadder-生物信息在线分析可视化云平台(https://www.bioladder.cn/)MetaboAnalyst-代谢组学数据分析(https://www.metaboanalyst.ca/Metabo…

【初学者自建简易网站】应用Windows系统自带的IIS管理器自建网站

自建简易网站 IIS设置防火墙设置路由器设置 本文主要涉及:web服务器IIS的设置,防火墙设置,以及路由器设置(如果是使用笔记本的话) IIS设置 IIS是Windows内置的一个网络服务器管理系统(类似Apache)&#x…

基于python、百度ocr、multiprocessing多进程、selenium网页自动化 、pyqt5界面弹出,实现发票的识别与对学校财务网站的脚本自动化上传操作的项目总结

目录 一、项目背景 二、框架确定与技术选型 1)框架确定 2)技术选型 (1)发票识别​编辑 (2)整合到excel (3)输入到学校的网页 3)整合技术框架 框架如下 三、代码…

web程序设计(2)——制作表单演示程序和配置PHP动态网站

实验要求 1、利用老师给的工具phpstudy构建实验环境; 2、运用课程所学变现代码编写左侧控件; 3、在表单页面嵌入自己最喜欢的背景音乐; 4、修改老师给出的PHP程序,在控件点击OK按钮后,在页面上显示每一个控件用户输入…

web程序设计(10)——制作网站首页(boostrap)

实验要求 设计一张网页,网页包括下列元素,网页的实例详见下页的图片 实验目的 熟悉掌握bootstrap框架实验内容 可以到官方网站http://getbootstrap.com/ 上下载 Bootstrap 的最新版本,也可以直接链接官方网站提供的源代码<link rel="stylesheet" href="…

【新闻发布】IIS服务器发布网站

【是什么】 IIS是Internet Information Services的缩写&#xff0c;是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。它包括WWW服务器、FTP服务器和SMTP服务器&#xff0c;是架设个人网站的首选。 【怎么做】 1、开启IIS服务&#xff1a;控制面板--程序--启用…

关于网站上线的那些事

小编我为了能使自己的网站上线,可谓是煞费苦心. 首先,我弄了一个腾讯云,领了一堆豆子不知咋用,可能修行不够.于是我改用了新浪云,简单好用. 首先网页我是用MD 8和editplus 3做的效果也不错. 但是一到上传代码包时候就失败. 打开新浪云 点击lenongzhuang 点击左边应用—…

一次网站遭受dos攻击解决历程

问题现象&#xff1a; 网站访问长时间等待&#xff0c;然后超时失败。 解决历程&#xff1a; 1&#xff0c;先直接查看网站应用的日志。 日志最直接的报错是“GetConnectionTimeoutException”,如果是第一次见到这个错误&#xff0c;可能会第一时间想到就是数据库连接池中的…

竹云IDaaS助力网站APP快速拉新

竹云IDaaS助力网站APP快速拉新 对于网站和APP运营来说&#xff0c;”拉新、留存、促活、转化”这些术语并不陌生&#xff0c;但如何去做&#xff0c;每家都会有不同的方式和想法。 通过官宣、公众号、软文、社交渠道、社群部落、二维码等方式的投放&#xff0c;引流成功后&am…

linux下php+nginx+mysql网站开发环境搭建

php安装 &#xff08;最好先安装好了mysql&#xff09; 下载解压文件后 #指定安装路径 开启安装fpm 指定mysql路径./configure --prefix/usr/local/php --enable-fpm --with-mysql/usr/local/mysql --with-mysqli/usr/local/mysql/bin/mysql_config --enable-pdo --with-pdo-…

给网站做301重定向

一、什么是网站301重定向 页面永久性移走&#xff08;301重定向&#xff09;是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时&#xff0c;服务器返回的HTTP数据流中头信息(header)中的状态码的一种&#xff0c;…

大型网站架构技能图谱(Java版)

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01; 在大型网站技术架构中&#xff0c;涉及到许…

大型网站架构演变史(含技术栈与价值观)

这篇文章是参考李智慧的《大型网站技术架构&#xff1a;核心原理与案例分析》和现蘑菇街CTO曽宪杰的《大型网站系统与Java中间件实践》写的一篇读书笔记。 前言 何谓大型网站&#xff1f;大型网站的特点是什么&#xff1f;大型网站架构发生演变的源动力是什么&#xff1f;大型网…

网站受到攻击会有哪些症状?

近期&#xff0c;小编我遇见了很多的网站客户反映说受到了DDoS攻击和CC攻击&#xff0c;被攻击对于开发运营维护人员&#xff0c;对此他们也表示很头疼。现阶段大多数网站使用的开发语言是PHP&#xff0c;JAVA&#xff0c;.net&#xff0c;数据库语言使用的是mysql&#xff0c;…

网站安全有哪些防护措施?

网站安全是指出于防止网站受到外来电脑入侵者对其 网站进行挂马,篡改网页等行为而做出一系列的防御工作。启动一个新网站是一个令人兴奋的项目,充满了许多重要的步骤和决定。但是,作为网站的所有者,您不仅要处理被黑客入侵的后果,还要对其页面上的内容以及人们用来与之交互…