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

news/2024/5/9 6:31:33/文章来源:https://blog.csdn.net/weixin_30594001/article/details/95156744

转自:https://blog.csdn.net/chaofanwei/article/details/26865169

 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,

因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,

因此准备写一系列的博客来介绍和加深理解大型网站技术架构。

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

1、初始阶段的网站架构

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

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

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

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

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

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

         因为单一应用服务器能够处理的请求连接有限,在网站访问高峰时期,应用服务器会成为整个网站的瓶颈。因此使用负载均衡处理器势在必然。通过负载均衡调度服务器,

可将来自浏览器的访问请求分发到应用的集群中的任何一台服务器上。

5、数据库读写分离

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

网站利用数据库这一功能实现数据库读写分离,从而改善数据库负载压力。

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

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

      CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,

如果反向代理缓存着用户请求的资源,则直接返回给用户。

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

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

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

8、使用NoSQL和搜索引擎

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

9、业务拆分

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

         具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用之间可以通过超链接建立管理,也可以通过消息队列进行数据分发,

当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

10、分布式服务

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

转载于:https://www.cnblogs.com/jiujuan/p/9000689.html

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

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

相关文章

传统IDC 部署网站

选择IDC机房 1.选择云主机。 2.传统IDC a购买服务器 b服务器托管 c装系统 装系统 虚拟机软件 vmware workstation virtualbox hyper-v 下载:r.aminglinux.como 系统下载: http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.…

使用phpstudy一键搭建网站

在软件管理中选择要安装的服务。 安装成功以后点击一键搭建 设置域名端口号根目录等信息后点击确定 开启apache和mysql服务 打开浏览器输入域名登录网站 也可以使用在网上找到的套件进行搭建 将套件解压至phpstudy的根目录下 单击创建网站配置好域名端口根目录 单击创建数据库并…

阿里云虚拟主机建立多个网站的方法

今天有朋友问魏艾斯博客,如果想在一个阿里云虚拟主机里面放多个网站怎么办,老魏很久不碰虚拟主机了,研究了一下找到了解决办法,下面来说一下阿里云虚拟主机建立多个网站的方法。 阿里云虚拟主机只能放一个网站,为了能够…

服务器购买+建站流程教程——适合新手没有经验的人Chinar总结

服务器购买购买教程本文提供全图文流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力快速完成…

网站seo优化过度的表现以及避免方法

因为seo而seo导致的结果很有可能就是网站优化过度,我不止一次看到过这样的情况:因为学习了部分seo教程,发现增加关键词密度可以适当提升排名,就在站内大量累加目标关键词,以期望达到关键词排名,最终的结果是…

Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能(转)...

转自:http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html 视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器.多媒体视频处理工具FFmpeg有非常强大…

网站整站开发小例子

之前学习的前端知识都只是局限于htmljs编写的静态网页,所以前几天试着加上模拟数据把前端和后台串联起来。在这个demo中,我运用了node.js、koa及vue.js。首先我们需要了解node.js,简单的说 Node.js 就是运行在服务端的 JavaScript。node.js安…

让网站Http重定向Https并进行百度Https认证

先为大家带来一点福利。阿里云最近开始发放代金券了,新老用户均可免费获取,1880元代金券,建议大家都领取一份,反正是免费领的,说不定以后需要呢?阿里云代金卷链接https://promotion.aliyun.com/ntms/yunpar…

Jekyll 动态地建立静态博客网站 (Get Started)

提前声明:Jekyll并不简单,必须要正确的看待它。把它和PHP,JSP和Django等放在一起讨论会减少很多失落感。它的学习曲线几乎相当于Wordpress,工作流程和结构也几乎一样。Jekyll与Wordpress最大不同的就是,没有数据库。但…

一步步带你,如何网站架构

何为大型网站 大型网站特性 既然说的是大型网站架构,那么架构的背后自然是解决人因面对大型网站特性而带来的问题。这样可以先给大家说下大型网站的特性,这些特性带来的问题就是人要解决的问题: 高并发、大流量:PV 量巨大&#xf…

什么是域名?什么网站名?什么是URL?

什么是域名?现实中,域名使用的实在太多了,但域名的详细含义你理解么?你知道域名是什么吗?下面,小编将带你详解域名的含义! 方法/步骤 域名,相信大家都不默认,也使用过无数…

《大型网站技术架构》读书笔记一:大型网站架构演化

一、大型网站系统特点 (1)高并发、大流量:PV量巨大 (2)高可用:7*24小时不间断服务 (3)海量数据:文件数目分分钟xxTB (4)用户分布广泛,…

java 大型网站架构_大型网站架构系列:电商网站架构案例(1)

大型网站架构系列:电商网站架构案例(1)大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能…

推荐的五款市面上常用的免费CMS建站系统

我做设计也有不少年头了,很多客户或者朋友找我做网站的时候,一般问我的是用什么软件系统给他们做。大部分客户希望用的软件是免费的。所以今天给大家介绍五款我自己用过还不错的,重点是还免费的建站系统。 MetInfo MetInfo这个系统是一个客户…

iis网站服务器端口设置,iis服务器端口设置方法

iis服务器端口设置方法 内容精选换一换获取当前系统健康状态。设置成“GET”。该接口仅支持POST和GET方法,不支持PUT和DELTE等方法。https://ip:port/ccbms/health.jsp其中,ip为CTI平台的CCBMS服务器地址,port为CCBMS服务器的HTTPS端口号。无…

16个时髦的扁平化设计+视觉滚差的网站模板

Persona – HTML5 Parallax Portfolio Theme 充满吸引力的一款网站模板,扁平化设计风格,动感的视差滚动效果。 在线演示 模板下载 Superb – Responsive One-Page Portfolio Superb 是一个基于 HTML5 & CSS3 的响应式单页作品集网站模板。 在线演…

两分钟学会最新的用github+便携版hexo做网站服务器教程+绑定域名

前段时间在阿里云买了一个域名,便想着如何利用这个域名来做自己的个人网站。网上教程特别多,但是大多数都不能用了,因为github在不断的进行更新。所以碰到了很多很多的坑。本人自己也是git小白,git的有些命令也是比较复杂。但是&a…

Jenkins与网站代码上线解决方案【转】

转自 Jenkins与网站代码上线解决方案 - 惨绿少年 https://www.nmtui.com/clsn/lx524.html 1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目独立。 Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中&…

[源码和文档分享]基于JAVA EE和豆瓣API实现的电影评论网站

本网站通过对网上最新的热点影片的分门别类,采取简洁、直观的方式让观看者体验到前所未有的舒适感,通过对网站界面布局,信息采集,会员管理,观看者的互动等功能的规划来实现崭新的视听环境。 本网站提供的电影资源和内容…

5 ,emr 入门 : 网址 ,定价 ,学习网站

一 ,相关网址 : 1 ,emr 文档入口 : https://docs.aws.amazon.com/zh_cn/emr/index.html 2 ,emr 开发指南 : https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-what-is-emr.html 3 &#xff…