大型网站技术架构(一)大型网站架构演化

news/2024/5/10 10:23:28/文章来源:https://blog.csdn.net/weixin_34220834/article/details/92654592

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

 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网站技术架构。

        说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程吧。

1、初始阶段的网站架构

            初始阶段都比较简单,通常一台服务器就可以搞定一个网站了,看图。

2、应用服务和数据服务分离

        随着网站业务的发展,一台服务器逐渐不能满足需求;这时候就需要将应用和数据分离,如图。

3、使用缓存改善网站性能

        毫无疑问,现在的网站基本上都会使用缓存,即:80%的业务访问都会集中在20%的数据上。

4、使用应用服务器集群改善网站的并发处理能力

         因为单一应用服务器能够处理的请求连接有限,在网站访问高峰时期,应用服务器会成为整个网站的瓶颈。因此使用负载均衡处理器势在必然。通过负载均衡调度服务器,可将来自浏览器的访问请求分发到应用的集群中的任何一台服务器上。

 

5、数据库读写分离

         当用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。而目前主流的数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上。网站利用数据库这一功能实现数据库读写分离,从而改善数据库负载压力。

 

 

6、使用反向代理和CDN加上网站相应

       提高网站的访问速度,主要手段有使用CDN和反向代理。

      CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反向代理缓存着用户请求的资源,则直接返回给用户。

7、使用分布式文件系统和分布式数据库系统

    任何强大的单一服务器都满足不了大型网站持续增长的业务需求。

     分布式数据库时网站数据库拆分的最后手段,只用在单表数据规模非常大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务拆分,将不同业务的数据部署在不同的物理服务器上

 

8、使用NoSQL和搜索引擎

       搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。

 

9、业务拆分

        大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将真个网站业务拆分成不同的产品线。

         具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用之间可以通过超链接建立管理,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

 

 

10、分布式服务

       由于每一个应用系统都需要执行许多相同的业务操作,比如用户管理,session管理,那么可以将这些公用的业务提取出来,独立部署。

转载于:https://my.oschina.net/zhanghaiyang/blog/606270

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

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

相关文章

做动态网站

做动态网站 eclipse管理tomcat 转载于:https://www.cnblogs.com/nangongyibin/p/10217272.html

[转]用 ASP.NET 2.0 改进的 ViewState 加快网站速度

本文讨论: • ViewState 如何工作 • ASP.NET 2.0 ViewState 的改进 • 使用控件状态维护功能 • 性能考虑 本文使用以下技术:ASP.NET、C#代码下载:ViewState.exe(122KB) 本页内容 ViewState 基本原理ViewState 问题ASP.NET 2.0 中的 ViewSt…

关于PHPcms网站广告的添加

2019独角兽企业重金招聘Python工程师标准>>> 如今cms网站太多,各大cms后台添加网站广告的方法很多,当然也可以使用Dreamweaver自定义,但是太麻烦。 广告内容: 广告管理设置,可以添加百度广告与Google广告。…

seo专员日常工作内容是什么?

大表哥相信不少朋友学习seo优化技术都是为了能够靠seo赚到钱,多数的朋友会选择去找一份seo优化的工作来赚钱,seo优化者在选择工作的时候都会普遍接触到一项职位,那就是seo专员,很多朋友都想知道seo专员是做什么的,那么…

25+免费的Bootstrap HTML5网站模板

在前端框架中,Bootstrap可以说是非常有名的高级网站设计框架。网上也有很多使用Bootstrap程序创建的免费模板。这些模板设计成响应式模式,因此你可以使用它们来为所有的设备平台和浏览器创建网站。 这个框架利用了JavaScript函数来创建功能全面的网站模板…

抓取网站的5种方法

来自维基百科 Web爬虫(有时也称为蜘蛛)是一种Internet机器人,通常系统地浏览Web索引,以进行Web索引。 Web搜寻器以要访问的URL列表(称为种子)开始。搜寻器访问这些URL时,它会识别页面中的所有超…

一个炫酷的前端导航网站

为什么80%的码农都做不了架构师?>>> 前端导航网 http://www.jsdig.com 弄个纯静态,便于维护的前端导航站。顺便放一些前端资源。提交网址 分类搜索 关键字搜索 关键字点击 添加网站 方法一 Fork到自己仓库修改根目录的data.json文件Pull req…

7.让网站支持http和https的访问方式

平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 怎么让网站在本地支持SSL?http://www.cnblogs.com/dunitian/p/5248957.html 添加网站的时候不要只选择https(绑定里面添…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

Bootstrap响应式建站

为什么80%的码农都做不了架构师?>>> Bootstrap是目前主流的css架构,不仅方便灵活,更做到了一套开发适应多终端的功能(仿似Java呀)。 重点:1.bootstrap编写是部分css要根据屏幕的大小进行调试和…

迈达斯cdn使用说明_新型DoS攻击或对使用了CDN的网站产生巨大威胁

在当今全球网络中,CDN服务扮演着很重要的角色,它的缓存系统可以极大缓解原网站的压力,并给访问者提供更好的网络体验。但近期,有安全研究人员发现了一种针对CDN缓存功能的DoS攻击——CPDoS,它有多种变体,不…

5 python 页面说明_PDF 的各种操作,我用 Python 来实现(附网站和操作指导)

导言PDF 处理是日常工作中的常见需求,包括 PDF 合并、删除、提取等。更复杂的任务如:将 PDF 转换成 图像。下面通过几个简单的例子和一份代码,帮助大家解决上面的需求,操作非常简单。在文末我会提供一份源码和一个神奇的 PDF 处理…

使用CSS3制作网站常用的小三角形

现在在前端开发中,经常会看到一些小三角形,如一些导航的下拉菜单,还有一些聊天信息的气泡模式,很多时候我们都是通过切图片的方法来制作,今天零度给大家分享一个完全通过css3实现的小三角效果。 先上html代码&#xff…

java建立本地网站,Eclipse搭建本地动态网站环境

准备Eclipse和Tomcat完成Web容器的配置在Eclipse中配置Tomcat (web容器)1、选择window->show view->other->servers 下面出现了servers点击 no servers are available click this link to create a new server -> 选择Tomcat7(下载的是7)->点击下一步->browe…

ecshop lbi替换为html,ecshop商城网站首页幻灯片替换成自定义js轮播方法

ecshop商城网站的首页都会有一个首页主广告位,可以不停的播放网站的一些图片。但是程序自带的首页幻灯片样式特别单一,而且首页幻灯片还带有黑色边框,不是很好看。下面学做网站论坛总结的将ecshop商城网站首页幻灯片替换成自定义js轮播方法和…

tp5限制地址栏直接访问_教你如何限制访问视频网站的方法

寝室所在的局域网里网速极慢,原因很简单,隔壁寝室的那几位老兄一天到晚开着土豆、酷六看电视剧,本来带宽就不够,还几个人同时看在线视频,网速简直让人崩溃。如果知道路由器的管理账号密码,那么要限制他们看…

资讯交流网站设计与实现_干货 | 室内设计师必备的10个网站!

大家好我是你们又美又瘦的小助打完这行字手抖了抖在我还小的时候曾经天真地幻想长大以后一定要成为 高逼格令人艳羡 的室内设计师直到我长大 通过自己不懈努力最终当上了和室内设计师八竿子打不到一块儿的 运营但是小助深知作为一名室内设计师最痛苦的莫过于缺少灵感以及素材来…

如何匿名访问网站

最近论坛上有网友提出了一些关于匿名访问的问题,趁此机会做一个总结,呵呵。先说说对于网站的匿名访问。 设置网站的匿名访问一般有三种情况:一是从已开始创建Web应用程序的时候进行匿名访问设置;二是对于已经建立的网站修改为匿名…

调优 网站性能指标

curl -o /dev/null -s -w %{time_total}"\n" www.yy.com -w %{option} //指定要获取的指标 可获取的指标,如下所示: time_total //完成请求所用的时间 time_namelookup //解析完成的时间 time_connect //建立到服务器的…

如何对网站进行压力测试 Apache ab和jmeter 的使用

本文档为个人博客文档系统的备份版本、作者:小游、作者博客:点击访问 这里压力测试我们使用的是Apache ab或者jmeter 我们先来安装Apache ab 安装地址:http://httpd.apache.org/download.cgi 然后我们再选下面这个 我们下载下面这个即可 下载…