大型网站架构技术一览

news/2024/5/11 17:27:24/文章来源:https://blog.csdn.net/qilixiang012/article/details/50633762

网站系统架构层次如下图所示:

1.前端架构

前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。

  • 浏览器优化技术

并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存、合并HTTP减少请求次数、使用页面压缩等。

  • CDN

内容分发网络,部署在网络运营商机房,通过将静态页面内容分发到离用户最近最近的CDN服务器,使用户可以通过最短路径获取内容。

  • 动静分离,静态资源独立部署

静态资源,如JS、CSS等文件部署在专门的服务器集群上,和Web应用动态内容服务分离,并使用专门的(二级)域名。

  • 图片服务

图片不是指网站Logo、按钮图标等,这些文件属于上面提到的静态资源,应该和JS、CSS部署在一起。这里的图片指用户上传的图片,如产品图片、用户头像等,图片服务同样适用独立部署的图片服务器集群,并使用独立(二级)域名。

  • 反向代理

部署在网站机房,在应用服务器、静态资源服务器、图片服务器之前,提供页面缓存服务。

  • DNS

域名服务,将域名解析成IP地址,利用DNS可以实现DNS负载均衡,配置CDN也需要修改DNS,使域名解析后指向CDN服务器。

2.应用层架构

应用层是处理网站主要业务逻辑的地方。

  • 开发框架

网站业务是多变的,网站的大部分软件工程师都是在加班加点开发网站业务,一个好的开发框架至关重要。一个号的开发框架应该能够分离关注面,使美工、开发工程师可以各司其事,易于协作。同时还应该内置一些安全策略,防护Web用攻击。

  • 页面渲染

将分别开发维护的动态内容和静态页面模板集成起来,组合成最终显示给用户的完整页面。

  • 负载均衡

将多台应用服务器组成一个集群,通过负载均衡技术将用户请求分发到不同的服务器上,以应对大量用户同时访问时产生的高并发负载压力。

  • Session管理

为了实现高可用的应用服务器集群,应用服务器通常设计为无状态,不保存用户请求上下文信息,但是网站业务通常需要保持用户会话信息,需要专门的机制管理Session,使集群内甚至跨集群的应用服务器可以共享Session。

  • 动态页面静态化

对于访问量特别大而更新又不很频繁的动态页面,可以将其静态化,即生成一个静态页面,利用静态页面的优化手段加速用户访问,如反向代理、CDN、浏览器缓存等。

  • 业务拆分

将复杂而庞大的业务拆分开来,形成多个规模较小的产品,独立开发、部署、维护,除了降低系统耦合度,也便于数据库业务分库。按业务对关系数据库进行拆分,技术难度相对较小,而效果又相对较好。

  • 虚拟化服务器

将一台物理服务器虚拟化成多态虚拟服务器,对于并发访问较低的业务,更容易用较少的资源构架高可用的应用服务器集群。

3.服务层架构

提供基础服务,供应用层调用,完成网站业务。

  • 分布式消息

利用消息队列机制,实现业务和业务、业务和服务之间的异步消息发送及低耦合的业务关系。

  • 分布式服务

提供高性能、低耦合、易复用、易管理的分布式服务,在网站实现面向服务架构(SOA)。

  • 分布式缓存

通过可伸缩的服务器集群提供大规模热点数据的缓存服务,是网站性能优化的重要手段。

  • 分布式配置

系统运行需要配置许多参数,如果这些参数需要修改,比如分布式缓存集群加入新的缓存服务器,需要修改应用程序客户端的缓存服务器列表配置,并重启应用程序服务器。分布式配置在系统运行期提供配置动态推送服务,将配置修改实时推送到应用系统,无需重启服务器。

4.存储层架构

提供数据、文件的持久化存储访问与管理服务。

  • 分布式文件

网站在线业务需要存储的文件大部分都是图片、网页、视频等比较小的文件,但是这些文件的数量非常庞大,而且通常都在持续增加,需要伸缩性设计比较好的分布式文件系统。

  • 关系数据库

大部分万丈的主要业务是基于关系数据库开发的,但是关系数据库对集群伸缩性的支持表较差。通过在应用程序的数据访问层增加数据库访问的路由功能,根据业务配置将数据库访问路由到不同的物理数据库上,可实现关系数据库的分布式访问。

  • NoSQL数据库

目前各种NoSQL数据库层出不穷,在内存管理、数据模型、集群分布式管理等方面各有优势,不过从社区活动性角度看,HBase无疑是目前最好的。

  • 数据同步

在支持全球范围内数据共享的分布式数据库技术成熟之前,拥有多个数据中心的网站必须在多个数据中心之间进行数据同步,以保证每个数据中心都拥有完整的数据。在实践中,为了减轻数据库压力,将数据库的事物日志(或者NoSQL的写操作Log)同步到其他数据中心,根据Log进行数据重演,实现数据同步。

5.后台架构

网站应用中,除了要处理用户的实时访问请求外,还有一些后台非实时数据分析要处理。

  • 搜索引擎

即使是网站内部的搜索引擎,也需要进行数据增量更新及全量更新、构建索引等。这些操作通过后台系统定时执行。

  • 数据仓库

根据离线数据,提供数据分析与数据挖掘服务。

  • 推荐系统

社交网站及购物网站通过挖掘人与人之间的关系,人和商品之间的关系,发展潜在的人际关系和购物兴趣,为用户提供个性化推荐服务。

6.数据采集与监控

监控网站访问情况与系统运行情况,为网站运营决策和运维管理提供支持保障。

  • 浏览器数据采集

通过在网站页面中嵌入JS脚本采集用户浏览器环境与操作记录,分析用户行为。

  • 服务器业务数据采集

服务器业务数据包括两种,一种是采集在服务器端记录的用户请求操作日志;一种是采集应用程序运行期业务数据,比如待处理消息数目等。

  • 服务器性能数据采集

采集服务器性能数据,如系统负载、内存使用率、网卡流量等。

  • 系统监控

将前述采集的数据以图表的方式展示,以便运营和运维人员监控网站运行状况,做到这一步仅仅是系统监视。更先进的做法是根据采集的数据进行自动化运维,自动处理系统异常状况,是吸纳自动化控制。

  • 系统报警

如果采集来的数据超过预设的正常情况的阀值,比如系统负载过高,就通过邮件、短信、语音电话等方式发出警报信号,等待工程师干预。

7.安全架构

保护网站免遭攻击及敏感信息泄露。

  • Web攻击

以HTTP请求的方式发起的攻击,危害最大的就是XSS和SQL注入攻击。但是只要措施得当,这两种攻击都是比较容易防范的。

  • 数据保护

敏感信息加密传输与存储,保护网站和用户资产。

8.数据中心机房架构

大型网站需要的服务器规模数以十万计,机房物理架构也需要关注。

  • 机房架构

对于一个拥有十万台服务器的大型网站,每台服务器耗电(包括服务器本身耗电及空调耗电)每年大约需要人民币2000元,那么网站每年机房电费就需要两亿人民币。数据中心能耗问题日趋严重,Google、Facebook选择数据中心地理位置的时候趋向选择散热良好,供电充裕的地方。

  • 机柜架构

包括机柜大小,网线布局、指示灯规格、不间断电源、电压规格(是48V直流电还是220V民用交流电)等一系列问题。

  • 服务器架构

大型网站由于服务器采购规模庞大,大都采用定制服务器的方式代替购买服务器整机。根据网站应用需求,定制硬盘、内存、甚至CPU,同时去除不必要的外设接口(显示器输出接口,鼠标、键盘输入接口),并使空间结构利于散热。

转载自:大型网站架构技术一览

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

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

相关文章

做电商网站php开发的流程,如何开发电商平台-电商开发第一步

快速开发电商平台,创建一个企业电商网站,同时获得盈利的巨额收益要怎么做呢?但是你如何创建电子商务网站呢?易龙天电商网站开发工程师及七星迪曼整合营销专家为您解答,通过9个步骤创建企业级电子商务网站。构建电子商务网站的分步…

从上百幅架构图中学大型网站建设经验--上(转)

原文:从上百幅架构图中学大型网站建设经验(上)引言近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图…

搜索引擎优化的用乐云seo_哪些类型的网站更佳适合做SEO搜索引擎优化

互联网上的网站有很多,且随着近些年移动互联网的发展,越来越多的网站不仅面对PC端还要解决在移动端方面的优化问题。但对于网站,由于其网站的构成形式以及行业情况来说,有时并不是所有的网站都完全适合进行SEO的搜索引擎优化。当然…

python网站开发实例 flask_Python Web框架Flask下网站开发入门实例

{%if islogin 1 %}Welcome ,{{username}}!{%else%}{{username}}!{%endif%}{%for nav in nav_list%}{{nav}}{%endfor%}{{blog[title]}}{{blog[content]}}{%for key,value in blogtag.items()%}{{key}}({{value}}){%endfor%}

python二分法查找算法_「二分法」二分法,三分法 - seo实验室

二分法 二分法定义:在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直 到找到目标元素。 优点:时间短,如若超时可以采取…

Tomcat9使用免费的Https证书加密网站

1.概述 Apache Tomcat是一款优秀的Java Web容器,对于各个站长来说,可以很方便的使用Tomcat将自己的网站博客放在公网的服务器上,分享自己的心得以及个人博客。 那么在公网中的访问,没有被第三方公认可信的机构加密时,会…

动态网站的技术路线_如何对网站结构方面进行优化呢?

关于网站结构优化对于很多人来说有点陌生,今天搜到老张就带大家了解一下网站结构优化的相关知识点。网站结构优化在网站优化过程中重要的一部分,那么在进行网站结构优化的过程中有那些细节是需要引起大家注意的呢?1、URL优化:通过…

同一个页面生成多个sessionid_网站在线客服代码生成工具

摘要:在线客服代码生成工具一直以来是想要给网站添加在线客服的用户所需要的,通过生成出来的代码复制到网站上可以直接实现在线客服的功能,本文将重点为大家推荐这款在线客服代码的生成工具。在线客服代码如何生成想要获取在线客服代码&#…

网站实现https 申请Let's Encrypt永久免费SSL证书

2019独角兽企业重金招聘Python工程师标准>>> Lets Encrypt简介 Lets Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度…

php 网站 seo,SEO技术:PHP页面的SEO优化

江苏金鼎网络科技 > 行业动态 > SEO技术:PHP页面的SEO优化SEO技术:PHP页面的SEO优化编辑 :金鼎网络 时间 : 2019-07-11 10:50 浏览量 : 85PHP是一种快速的服务器端语言,通常用于创建MySQL的依赖项和新名称,并使用PHP进行简单…

Java生成sitemap网站地图

sitemap 是什么?对应没有接触过网站 SEO 的同学可能不知道,这里引用一下百度站长的一段解释。 Sitemap(即站点地图)就是您网站上各网页的列表。创建并提交Sitemap有助于百度发现并了解您网站上的所有网页。您还可以使用Sitemap提供…

28.分析采集美团网站信息-2

28.分析采集美团网站信息-2 接着昨天的思路,继续分析,要想获取信息,就要抓获xhr中js请求。如图: 1.明显可以看的出request url 是由若干参数拼接而成。2._token 参数很显而易见 是个重要的请求参数,而且在一段时间内是…

网站实时镜像

问题 公司的网站服务器有两个镜像站点,分别放在北京和上海的IDC机房。现在要求利用rsync同步机制实现“服务器A–>服务器B”的实时镜像同步。 需要完成的配置任务如下: 1)双方的目录均为 /var/www/html/ 2)以 svr5 为同步发起方,配置 in…

LINUX 配置httpd网站服务

问题 默认安装的httpd服务并未指定域名,因此启动服务时会出现“httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName”的异常信息,本例中要求将Web网站的名称设置为svr5.tedu.cn。 另外&am…

LINUX 网站实时镜像

问题 公司的网站服务器有两个镜像站点,分别放在北京和上海的IDC机房。现在要求利用rsync同步机制实现“服务器A–>服务器B”的实时镜像同步。 需要完成的配置任务如下: 1)双方的目录均为 /var/www/html/ 2)以 svr5 为同步发起方,配置 inot…

网站性能优化有哪些方法

网站性能优化有哪些方法 一、总结 一句话总结: web前端性能优化:浏览器访问优化、CDN加速、反向代理 应用服务器性能优化:分布式缓存、异步操作、使用集群、代码优化 web前端性能优化方法有哪些1. 浏览器访问优化:减少http请求&am…

php 实时监测网站是否异常_导轨式智能电表COUNTISE02电量监测型

导轨式智能电表COUNTISE02电量监测型导轨式智能电表COUNTISE02电量监测型导轨式智能电表COUNTISE02电量监测型江苏舜高智能科技有限公司(Synchro Intelligent)致力于为用户端能效管理和用电、设备运维的系统解决方案,帮助用户实现能源的可视化管理,能源数…

rsync+rsync同步和网站实时镜像

2.rsyncrsync同步 采用rsyncSSH的远程同步时,使用起来是最简单的,但是目标用户也被允许SSH登录到远程主机的Shell环境。在某些情况下,企业会希望只提供需要认证的同步目录资源,但并不希望提供远程登录,这时候就可以采…

一个网站大概多少钱_做一个医疗网站需要多少钱?

相信很多医疗从业者对于互联网的的需求无非就是关注网站设计的价格。但是如果真有这样的网站设计公司没有了解医疗行业就去给你们报价的话,那么这样的公司做的网站更多的会不契合医疗企业。所以真的想知道做一个医疗行业网站设计需要多少钱,那么就需要去…

php网站 被 黑_10.3期玉落清盘作者:枸杞黑乌龙+不二选择作者:仲希

全世界只有不到3 % 的人关注了 壹号书单你真的真的很了不起文末卡片求姐妹们点一下呀,点进去退出就好,不用下载不用关注,不麻烦哒~非常感谢啦~- 2020.10.03 -今日新文《玉落清盘》作者:枸杞黑乌龙原文地址:http://www.…