大型网站架构不得不考虑的10个问题

news/2024/5/9 18:36:32/文章来源:https://blog.csdn.net/weixin_34332905/article/details/91962109

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的。

这里讨论一下大型网站需要注意和考虑的问题

1、海量数据的处理

众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,最多再加几个索引就可以搞定。对于大型网站,每天的数据量可能就上百万,如果一个设计不好的多对多关系,在前期是没有任何问题的,但是随着用户的增长,数据量会是几何级的增长的。在这个时候我们对于一个表的select和update的时候(还不说多表联合查询)的成本的非常高的。

2、数据并发的处理

在一些时候,2.0的CTO都有个尚方宝剑,就是缓存。对于缓存,在高并发高处理的时候也是个大问题。在整个应用程序下,缓存是全局共享的,然而在我们进行修改的时候就,如果两个或者多个请求同时对缓存有更新的要求的情况下,应用程序会直接的死掉。这个时候,就需要一个好的数据并发处理策略以及缓存策略。

另外,就是数据库的死锁问题,也许平时我们感觉不到,死锁在高并发的情况下的出现的概率是非常高的,磁盘缓存就是一个大问题。

3、文件存贮的问题

对于一些支持文件上传的2.0的站点,在庆幸硬盘容量越来越大的时候我们更多的应该考虑的是文件应该如何被存储并且被有效的索引。常见的方案是对文件按照日期和类型进行存贮。但是当文件量是海量的数据的情况下,如果一块硬盘存贮了500个G的琐碎文件,那么维护的时候和使用的时候磁盘的Io就是一个巨大的问题,哪怕你的带宽足够,但是你的磁盘也未必响应过来。如果这个时候还涉及上传,磁盘很容易就over了。

也许用raid和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者新疆的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。

所以我们不得不承认,文件存贮是个很不容易的问题

4、数据关系的处理

我们可以很容易的规划出一个符合第三范式的数据库,里面布满了多对多关系,还能用GUID来替换INDENTIFY COLUMN 但是,多对多关系充斥的2.0时代,第三范式是第一个应该被抛弃的。必须有效的把多表联合查询降到最低。

5、数据索引的问题

众所周知,索引是提高数据库效率查询的最方面最廉价最容易实现的方案。但是,在高UPDATE的情况下,update和delete付出的成本会高的无法想想,笔者遇到过一个情况,在更新一个聚焦索引的时候需要10分钟来完成,那么对于站点来说,这些基本上是不可忍受的。

索引和更新是一对天生的冤家,问题A,D,E这些是我们在做架构的时候不得不考虑的问题,并且也可能是花费时间最多的问题,

6、分布式处理

对于2.0网站由于其高互动性,CDN实现的效果基本上为0,内容是实时更新的,我们常规的处理。为了保证各地的访问速度,我们就需要面对一个绝大的问题,就是如何有效的实现数据同步和更新,实现各地服务器的实时通讯有是一个不得不需要考虑的问题。

7、Ajax的利弊分析

成也AJAX,败也AJAX,AJAX成为了主流趋势,突然发现基于XMLHTTP的post和get是如此的容易。客户端get或者post 到服务器数据,服务器接到数据请求之后返回来,这是一个很正常的AJAX请求。但是在AJAX处理的时候,如果我们使用一个抓包工具的话,对数据返回和处理是一目了然。对于一些计算量大的AJAX请求的话,我们可以构造一个发包机,很容易就可以把一个webserver干掉。

8、数据安全性的分析

对于HTTP协议来说,数据包都是明文传输的,也许我们可以说我们可以用加密啊,但是对于G问题来说的话,加密的过程就可能是明文了(比如我们知道的QQ,可以很容易的判断他的加密,并有效的写一个跟他一样的加密和解密方法出来的)。当你站点流量不是很大的时候没有人会在乎你,但是当你流量上来之后,那么所谓的外挂,所谓的群发就会接踵而来(从qq一开始的群发可见端倪)。也许我们可以很的意的说,我们可以采用更高级别的判断甚至HTTPS来实现,注意,当你做这些处理的时候付出的将是海量的database,io以及CPU的成本。对于一些群发,基本上是不可能的。笔者已经可以实现对于百度空间和qq空间的群发了。大家愿意试试,实际上并不是很难。

9、数据同步和集群的处理的问题

当我们的一台databaseserver不堪重负的时候,这个时候我们就需要做基于数据库的负载和集群了。而这个时候可能是最让人困扰的的问题了,数据基于网络传输根据数据库的设计的不同,数据延迟是很可怕的问题,也是不可避免的问题,这样的话,我们就需要通过另外的手段来保证在这延迟的几秒或者更长的几分钟时间内,实现有效的交互。比如数据散列,分割,内容处理等等问题

10、数据共享的渠道以及OPENAPI趋势
 

Openapi已经成为一个不可避免的趋势,从google,facebook,myspace到海内校内,都在考虑这个问题,它可以更有效的留住用户并激发用户的更多的兴趣以及让更多的人帮助你做最有效的开发。这个时候一个有效的数据共享平台,数据开放平台就成为必不可少的途径了,而在开放的接口的情况保证数据的安全性和性能,又是一个我们必须要认真思考的问题了。

 

出处:http://bbs.middleware123.com/thread-23766-1-1.html

转载于:https://my.oschina.net/newchaos/blog/1555886

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

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

相关文章

jsp mysql电影网站_JSP+Servlet+C3P0+Mysql实现的YCU movies电影网站

本文存在视频版本,请知悉项目简介这次分享一个电影网站,页面炫酷,需要有一定的前端功底。该网站存在一些bug,感兴趣的可以自行改改,也可以私信我。本系统基于JSPServletC3P0Mysql。涉及技术少,易于理解,适合…

Python爬取网站小说并可视化分析

时间荏苒,岁月不居,看过四处风景,唯独钟爱,路遥先生的那一句话“人之所以痛苦,在于追求错误的东西,如果你不给自己烦恼,别人也永远不可能给你烦恼”,生活正是如此,一切过…

☀️从0到1部署Hadoop☀️基于网站日志进行大数据分析【❤️建议收藏❤️】

目录 基于Hadoop部署实践对网站日志分析 1.项目概述 2.安装及部署 2.1 VMware安装 2.2 Ubuntu安装 2.3 Java环境安装 2.4 Hadoop安装 2.5 MySQL安装 2.5 hive安装 2.6 sqoop安装 2.7 hbase安装 3.数据预处理 3.1 使用MapReduce编写程序 3.2 数据及环境准备 3.3 Map…

把网站从 http 转换成 https

基础准备: 一台服务器,一个主域名或多级域名,本次申请的免费 本次环境使用 centos6.5 nginx1.8 jdk1.8 tomcat8 如果需要收费的请参考: 云盾证书服务(包年)-购买-阿里云 SSL证书 - 腾讯云 一. 申请免费 HTTPS 证书 1. 输入网址 https://fr…

基于Hadoop部署实践对网站日志分析(大数据分析案例)

目录 1、项目概述 2、总体设计 2.1 Hadoop插件安装及部署 3、详细实现步骤操作纪要 3.1 hadoop环境准备 3.2 源数据文件准备 3.3 python开发mapreduce脚本 3.4 根据结果文件结构建立hive数据库表 3.4.1在结果文件上创建分区表 3.4.2 按日期创建分区 3.5 使用Hive对结果…

写论文工具:LaTex在线网站

I. http://Overleaf.com (http://ShareLaTeX.com) http://Lucidchart.com (http://Gliffy.com) http://Mendeley.com 用这一套网站,可以随时随地画图写论文,云端 LaTeX 环境 云端 visio 替代品 云端参考文献管理。 Overleaf …

Winform下动态执行JavaScript脚本获取运行结果,谈谈网站的自动登录及资料获取操作...

为了有效阻止恶意用户的攻击,一般登录都会采用验证码方式方式处理登录,类似QQ的很多产品的验证码处理,但在一些OA系统中,系统通过非对称加密方式来处理登录的密码信息,登录页面每次提供对密码进行加密的公钥是不同的&a…

基于Lucene框架的“虎扑篮球”网站搜索引擎(java版)

1 引言 本次作业完成了基于Lucene的“虎扑篮球”网站搜索引擎,对其主要三个板块---“最新新闻”(主要NBA新闻),“虎扑步行街”(类似贴吧性质),“虎扑湿乎乎”(篮球发帖区&#xff0…

关系抽取-常见问题-Overlap:SEO(SingleEntity, 一实体与多个实体有关系)、EPO(EntityPair,同一对实体有多种关系)、HTO(HeadTail,头尾实体有嵌套/重叠)

SEO(SingleEntityOverlap, 一个实体与多个实体有关系)、 EPO(EntityPairOverlap,同一对实体有多种关系)、 HTO(HeadTailOverlap,头尾实体有嵌套/重叠) 参考资料: 关系抽…

网站统计 开源 java_开源 java CMS - FreeCMS2.8 统计分析

统计分析系统级统计分析,用于统计系统所有数据。工作量统计统计所有用户的工作量。从左侧管理菜单点击工作量统计进入。您可以根据添加人,时间条件进行筛选。并可导出结果为excel文件。站点信息统计统计所有站点的信息量。从左侧管理菜单点击站点信息统计…

sensor曝光量和曝光行的区别_企业SEO,如何利用行业关键词,提高产品曝光量?...

每一个企业,基于网络营销而言,对方都期望,自身的产品能够借助相关营销工具,获得不错的产品曝光量。特别是百度SEO,如果前期你的准备工作不足,你基于搜索所获得的曝光量,总是杯水车薪的。那么&am…

用HTML+CSS编写一个计科院网站首页的静态网页

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>计算机科学学院</title><link href"css/bgcss.css" rel"stylesheet"> </head> <body><!--顶部图片部…

社交网站部署——SVN服务器搭建并发布上线

案例概述 某公司的社交网站采用PHP语言开发&#xff0c;为了管理PHP程序员开发的代码&#xff0c;上级领导要求搭建SVN服务器进行版本控制。社交网站的第一个版本部署在LNMP平台之上&#xff0c;前端为Nginx服务器&#xff0c;通过fastcgi协议访问后端的PHP服务器。为了保证数据…

鸿蒙os开发网站,华为鸿蒙系统最新消息,HarmonyOS 应用开发在线体验网站上线

原标题&#xff1a;华为鸿蒙系统最新消息&#xff0c;HarmonyOS 应用开发在线体验网站上线华为的鸿蒙系统从开发之初就受到了大家的广泛关注&#xff0c;从一开始的“备胎”到现在最新的HarmonyOS 2.0版本&#xff0c;华为鸿蒙系统在成长过程中也是经历了不少的波折。今天&…

如何屏蔽https网站,禁止https网站的访问?

HTTPS&#xff08;HTTP over SSL&#xff09;由于其通讯协议的特殊性&#xff0c;域名信息和访问的URL等都处于SSL加密保护下&#xff1b;所以大部分的路由器系统都无法对https网站的域名进行过滤和屏蔽。而诸如WFilter这样的专业级上网行为管理产品&#xff0c;则可以对流量进…

vue项目的seo

2019独角兽企业重金招聘Python工程师标准>>> 不可否定的是&#xff0c;vue现在火。但是在实际项目中&#xff0c;特别是像一下交互网站&#xff0c;我们不可避免会考虑到的是seo问题&#xff0c;这直接关系到我们网站的排名&#xff0c;很多人说用vue搭建的网站不能…

屏蔽复制网站内容时弹出的提示

例如chrome浏览器&#xff0c;在设置里把JavaScript关掉就行了 url地址栏输入chrome://settings/content/javascript?searchjavascript

网站设计HTML——百度 滚筒洗衣机

滚筒洗衣机的效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>滚筒洗衣机销售排行榜</title> </head> <body> <div><h1>滚筒洗衣机销售排行榜</h1><div&g…

linux救援模式使用yum,centos如何进救援模式_网站服务器运行维护,centos

如何解决CentOS7系统ifconfig无法使用的情况_网站服务器运行维护CentOS7系统ifconfig无法使用的解决方法&#xff1a;首先查看“ifconfig”命令所需要的安装包&#xff1b;然后使用“#yum -y install net-tools”命令安装软件&#xff1b;最后使用“ifconfig”查看IP信息即可。…

如何删除ppt自带背景音乐_把网站搬进PPT里是种怎样的体验?

本文总计&#xff1a;2477 字预计阅读时间&#xff1a;10 分钟昨天&#xff0c;我给大家推荐了一个酒类产品的官网&#xff0c;不知道大家看过没。要是没看过的话&#xff0c;也没有关系&#xff0c;因为我用 PPT 把这个网站仿制了一下。保留了主要元素&#xff0c;以及大部分的…