大型网站技术架构

news/2024/4/27 16:13:01/文章来源:https://blog.csdn.net/weixin_34396902/article/details/88905761
看完《大型网站技术架构》读后感,这个书主要内容是以大型网站架构为题,进行分析,如何搭建一个成熟的架构,和其中遇到的问题,以及最后规划了架构师的职业方向。

大型网站架构的进化史

没有一个网站是一诞生就是一个大网站,不管淘宝、亚马逊还是其他等等,庞大的用户量都是慢慢积累的,所以网站架构也都是从最基础的LAMP(Linux+Apache+MySQL+PHP),毕竟这种开源免费最适合初创企业。慢慢随着业务的发展,用户量慢慢上去了,然后所谓的海量数据、高并发等等问题随之出现,而升级架构其实就是解决遇到的问题。

淘宝的架构之路从最开始的LAMP到慢慢升级到JAVA+ORACLE升级到付费的各种产品,再往后阿里开始专注自己的技术路线,自己的开源框架等等,而架构也是在每年的双十一大促的时候经过一次一次的锤炼。

下面是一个网站架构从刚开始慢慢升级打怪的步骤:

1.一个网站的初始架构都是在一个服务器上面包含应用程序+数据库+文件

2.随着用户量增长,对应用程序、数据库、文件进行分离,放到三台服务器上,针对业务需求选择机器的配置,比如应用程序需要处理大量的业务要选择一个更快更强大的CPU,数据库需要快速磁盘检索和数据缓存,需要更快的磁盘和更大的内存,而文件需要出存储大量用户上传的文件,因此需要更大的硬盘。分离完成后,网站的并发能力和数据存储都有了很大改善。

3.下一个问题就是普遍都在讨论的性能问题,可能淘宝和你的网站的区别就在于它的打开速度比你快了1-2秒,可是往往起决定性因素的就是这些小的细节。网站的访问和现实世界的财富分配一样都遵循着二八定律,网站的访问这是80%的业务访问集中在20%的数据上,比如淘宝或者微博,经常操作的肯定是那些活跃用户,经常购买的肯定是口碑评价都好的店铺,所以可以给这20%的数据放到缓存中,可以提高数据库的访问压力

4.解决了数据库访问压力的问题,网站的并发能力是下一个攻克的难点,当一个服务器处理能力不足的时候不要试想找一个更大的服务器来解决(就像一匹马拉不动一辆车的时候,不要试图找一个更强壮的马来拉,应该找两匹马来解决)通过配置服务器集群,采用负载均衡服务器来解决数据量并发问题

5.看似好像都解决了,但是接着回到数据库问题,如果有些数据不是读缓存的,或者缓存过期等问题,又回到之前的数据库压力问题,可以选择数据库读写分离,数据库配置主从关系,会自动完成同步,改善了数据库负载压力

6.随着网站的持续增长,可以把数据库拆分到两台服务器,文件服务器也使用分布式文件系统

7.再之后一些大型的网站架构会从业务下手,将业务拆分,拆成不同的应用,每个应用独立部署,其实业务才是最核心的,比如最典型的12306的网站,2010年刚上线的时候一直崩溃,网上各种大神出谋划策,但是其实12306的问题不在于技术,而在于业务,把几亿人抢票放到同一个时间点,而后面12306的改革也看到了,加入了排队机制,分时间段放票。(12306技术后面由阿里给了技术支持)

秒杀产品架构设计

秒杀是各大电商平台都会搞的促销活动,那对于技术人员来说秒杀意味着什么:1.对现有网站业务的冲击 2.高并发下应用 3.网络及服务器带宽 4.直接下单

解决方式:1.秒杀系统独立部署,为了不影响现有网站的业务 2.秒杀系统页面静态化,不要动态读取内容,写死html内容 3.租借秒杀活动带宽 4.通过js提交到下单

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

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

相关文章

怎样使用网站模板建设网站

现在建网站已经不是什么新鲜事,建网站可以不需要懂代码,我们只需要拥有一套完整的网站模板源码就好,我们以帝国cms网站为例,如何建立一个属于自己的网站。工具/原料 帝国网站模板带后台FTP工具网站域名网站空间方法/步骤 首先&…

Tomcat之web应用的部署和网站目录的映射

//注:$CATALINA_BASE表示Tomcat安装的目录,后面你会看到 //前半部分为分析,后半部分为实战 //CATALINA -->一个好听的名字:卡特琳娜 什么是web应用的部署和网站目录的映射?说白了就是如何让用户访问到我们开发的网站。 众所周知我么做…

如何处理网站被植入恶意的一些代码导致的被机房拦截提示

最近收到客户的网站被黑客入侵导致被篡改植入了一些恶意代码,具体的提示如下: 接到客户的反映情况如下: 客户说:网站被植入恶意的一些代码,像一些赌博的网站内容,怎么处理现在服务器那边检测到了 网站被停掉了. 阻断信…

百万PV网站架构案例

一、百万pv架构案例概述 PV(page view,页面浏览量)即点击量,通常是衡量一个网站受欢迎程度的主要指标。 本案例采用四层模式实现,主要分为前端反向代理层、web层、数据库缓存层和数据库层。前端反向代理层采用主备模式,web层采用集…

Tomcat部署JSP网站(部署web应用?)

首先看下我的JSP网站所在的目录截图(D:\web\qqonlinemgrdao): ------------------------------------------------------------------------------------------------------------------------------------------------------ 第一步找到Tom…

kali系统网站部署笔记

网站放在 其他位置----计算机------var-----www----html 首先启动nginx service nginx start 然后访问127.0.0.1 就会看到Apache正在工作 启动mysql数据库 service mysql start 接着用 mysql -u root -p 连接mysql 用户名:root 密码:123456 数据库操作命…

cef浏览12306网站不正常问题

cef版本:cef_binary_3.2623.1401.gb90a3be_windows32.7z使用cef时,浏览其它网站正常,唯独浏览器www.12306.cn时不正常,真是不可思议,cefclient.exe显示证书错误刚好在12306首页看到了这句话:为保障您顺畅购…

由12306.cn谈谈网站性能技术

转载自:(陈皓的 12306.cn谈谈网站性能技术)http://coolshell.cn/articles/6470.html 12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促&#…

第1节 网站点击流项目(上):5、6、7、数据预处理

五、 模块开发----数据预处理 1. 主要目的 过滤“不合规”数据,清洗无意义的数据 格式转换和规整 根据后续的统计需求,过滤分离出各种不同主题(不同栏目path)的基础数据。 2. 实现方式 开发一个mr程序WeblogPreProcess(内容太长&a…

大型网站架构演变和知识体系 (转)

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

javascript中mouseenter与mouseover的异同

不知道大家在面试或者工作过程中有没有被 mouseover 和 mouseenter (对应的是 mouseout 和 mouseleave )事件所困扰。自己之前在面试的时候就有被问到诸如mouseover和mouseenter事件的异同之类的问题?当时没有答出来,一直也对这两个事件有点模糊不清&…

推荐20款非常好的网站可用性测试工具

网站可用性是指用户能否有效地找到所需的信息或完成他的任务,效率如何以及是否让人有愉快满意的感受。如果网站可用性较差,会浪费用户的时间,大大降低网站的回头访问率,这对网站的生存是一个至关重要的问题。因此,可用…

从天际网新版看国内职业社交网站的走势

从天际网新版看国内职业社交网站的走势<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />文 小刀马对于大多数网站而言&#xff0c;经过一段时间之后总会进行相应的改版&#xff0c;这也是发展中不断总结经验的一种方式&#xff…

了解JOOMLA可以去的网站

2019独角兽企业重金招聘Python工程师标准>>> http://www.joomlagate.com/forum/topic-41721/ http://joomlacode.org/gf/account/?actionUserAdd http://people.joomla.org/my-page.html 转载于:https://my.oschina.net/u/220395/blog/38690

高性能网站14条——读《高性能网站建设指南》

虽然不是做前端开发的&#xff0c;但是了解一些也是有用的。例如js脚本和css脚本是应该放在页面顶部吗&#xff1f;… 规则1、 较少HTTP请求 性能黄金法则&#xff1a;只有10%-20%的最终用户响应时间花在了下载HTML文档上。其余的80%-90%时间花在了下载页面的所有组件上。 实…

一个小企业主的坎坷建站经历

2019独角兽企业重金招聘Python工程师标准>>> 看到同行在互联网上赚的盆满钵满的&#xff0c;我的心也蠢蠢欲动起来。鬼使神差下我在耐思尼克上购买了 网站空间和域名&#xff0c;本以为网站可以使用了&#xff0c;却被服务商告知还需要上传网站建站程序&#xff0c;…

中国联通网上营业厅,12306式的网站?

就在今日下午&#xff0c;笔者登陆联通网上营业厅办理套餐变更业务时&#xff0c;发现了下图一个“迷魂阵”似的矩阵&#xff0c;笔者顿时眩晕&#xff0c;不知道点击何处&#xff0c;作为读者的你们&#xff0c;你们看到下图觉得我办理66元A套餐该点击哪里? 于是我发了一条微…

参考TinyOS官方网站学习建立新platform-yamp

创建平台目录每个平台都需要自己的文件夹存放相关驱动代码&#xff0c;位于tos/platforms/目录中。 $cd /opt/tinyos-2.1.2/tos/platforms $mkdir yamp 创建.platform文件每个平台目录都必须包含名为 的文件&#xff0c;包含该平台的基本编译参数。 tos/platforms/yamp/.platfo…

手机版WEB开发经验分享,手机版网站开发注意事项,网站自适应,手机版网站自适应,移动安卓APP自适应...

为什么80%的码农都做不了架构师&#xff1f;>>> http://my.oschina.net/cart/ 做前端开发不短了&#xff0c;用过jQuery Mobile jqMobi 也纯手工写过。。 最后总结如下&#xff1a; jQuery Mobile&#xff1a;适合大而全&#xff0c;兼容性高&#xff0c;功能全…

python爬虫写入数据库_python爬虫--爬取某网站电影信息并写入mysql数据库

书接上文&#xff0c;前文最后提到将爬取的电影信息写入数据库&#xff0c;以方便查看&#xff0c;今天就具体实现。 首先还是上代码&#xff1a; #-*- coding:utf-8 -*- importrequestsimportreimportmysql.connector#changepage用来产生不同页数的链接 defchangepage(url,tot…