更新网站 图片缓存_一个大型网站的技术架构是这样建成的

news/2024/5/20 3:31:20/文章来源:https://blog.csdn.net/weixin_39746869/article/details/111339151
d9c62efc3e061e858d007cc60be2e181.pngc9afbc17235333883d41f314543b6ae7.png

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,同时去除不必要的外设接口(显示器输出接口,鼠标、键盘输入接口),并使空间结构利于散热。

来自:HollisChuang's Blog

链接:http://www.hollischuang.com/archives/1132

=====================================

年度最佳 DevOps 峰会即将来袭

DevOps 国际峰会(DOIS)2019 · 北京站

96fd6990049122a60980f6a5beddcc7f.png

↓↓点击阅读原文,领取限时优惠。

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

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

相关文章

tdk怎么设置_壹起航:怎么做好网站SEO优化,这几大步骤要掌握

网站SEO优化目的就是提高搜索引擎上的排名,从而达到直接销售产品或者企业品牌推广的作用,保障企业通过互联网服务获得足够的利润。接下来,跟随壹起航一起来了解一下SEO优化的步骤是怎样的吧。网站TDK的确定网站TDK就像我们班的名字和数量&…

这五个我珍藏的编程网站,你可千万别错过了

大家好,我是鱼皮,今天给大家推荐几个最近非常流行的编程网站,相信能够帮助大家提高编程效率、更好地学习编程。 热门编程网站推荐 Codepen 演示视频:还用代码画圣诞树?这个网站直接白给!前端程序员必备在线…

如何通过网站域名查询服务器地址,如何根据域名查看服务器地址

如何根据域名查看服务器地址 内容精选换一换园区智能体的算法服务支持的输出类型为Webhook。在创建作业前您需确保Webhook Service已运行成功。下面以一个简单的python脚本作为示例,展示如何启动Webhook Service并保存接收的数据。准备一台本地的Linux服务器&#x…

云服务器安全网站,网站服务器安全

网站服务器安全 内容精选换一换用户Jack在浏览网站时,通过应用软件呼叫客服人员,呼叫请求上报至语音通话平台。语音通话平台分别呼叫主叫Jack和客服Sophia,使主叫和被叫互相通话。详细体验过程如图1所示。语音回呼能力可以应用在以下场景。在…

面对问题,可以逛哪些C++网站?

又好久没更新了,抱歉,比较忙~本来今天要更一篇技术文章的,介绍撸的一个新库。文章已经码的差不多了,代码短小精妙,用到了C11到C20很多我已经介绍过的东西,不过晚上才改完bug 还得优化扩展写注释&#xff0c…

深夜里,程序员最喜欢去的网站竟然是 ...

程序员的工作和日常生活非常的枯燥,这里给大家推荐一些程序员经常使用的网站,也是我经常上的一些网站,我将会从多个角度、多个层面分别为你整理归纳这些网站和论坛项目类项目是一个面试官非常看重的点,也是拓展视野、挖掘轮子一个…

linux部署jsp网站实验要求,Tomcat 发布部署jsp网站—-使用自己的ip访问jsp网站

最近我们做了个jsp项目,做完之后想在我们局域网的电脑上访问,并且通过这台机器的ip地址访问,通过多次配置,终于成功,以下是配置的过程。一,首先将工程打包,打成war包,点击右键&#…

程序员需知的 58 个网站

大家好,我是唐唐。众所周知,程序员是一个需要不断学习的职业,而幸运的是,在这个互联网时代,知识就在那里,等着我们去获取。作为一个 收藏从未停止,学习从未开始 的博主 :(秉承着好东西不能独享的…

从零开始搭建个人网站

网站建设主要有三个部分:域名,服务器(或者网站空间),还有就是程序。 现在建设一个个人网站的成本可以说是特别的低了,150不到,就可以搭建一个简单的个人网站 第一步:域名 域名建议…

新手入门 Python 的学习网站

1 Python 小例子 来自 github 网站上的项目,提供了 141 个代码小样,并标注了难度等级。 告别枯燥,致力于打造 Python 经典小例子、小案例。 https://github.com/jackzhenguo/python-small-examples 2 编程教室 Crossin的编程教室 - 在线练习 https://crossincode.com/oj/…

值得收藏的几个 C/C++ 学习网站

点击上方“C语言与CPP编程”,选择“关注/置顶/星标公众号” 干货福利,第一时间送达! 大家好,我是唐唐! 在 C++ 的学习过程中离不开阅读大量的免费文档和网站,尤其是学完 C++ 基础后,不知道自己下一步要干什么,或者感觉 C++ 学习总是卡在某些地方,这时候阅读一些免费的…

值得收藏的十个C/C++学习网站

在 C++ 的学习过程中离不开阅读大量的免费文档和网站,尤其是学完 C++ 基础后,不知道自己下一步要干什么,或者感觉 C++ 学习总是卡在某些地方,这时候阅读一些免费的文档与浏览一些网站,过掉这些障碍,C++ 学习之路会顺畅很多,今天在此分享一些学习文档和学习网站,希望有所…

C++提效网站

C提效网站大家好,我是光城,统一回复:C那些事网站服务器到期,暂时关闭,大家直接阅读github或公众号内容即可。https://github.com/Light-City/CPlusPlusThings今日将会给大家推荐C日常工作/学习当中的一些网站&#xff…

SQL 学习最强刷题网站!

大家好,我是唐唐。今天给大家上点干货,推荐一款之前一直在用的SQL刷题网站—牛客的SQL题库。很多人都知道牛客有面经,但是还不知道有SQL,其实牛客的SQL题目已经有大概500题了,题目内容、产品、讨论区氛围,可以说是国内…

php网站改表名,批量修改ecshop等php程序表名前缀的两个方法

1. 批量修改表名前缀有个很简单的方法,大家使用到的帝国备份王等工具就自带此功能:批量替换表名的地方,看清楚了吗?2. 第二个方法大家网上有说:将下面的代码保存到edit_table.php中放到网站根目录直接运行即可define(…

5m服务器网站多秒可以打开,云服务器5m秒多少kb

云服务器5m秒多少kb 内容精选换一换本页面为您介绍云服务器的免费试用活动,面向企业和个人用户有不同的云服务器配置选择,注册华为云账号后均可以免费申请试用,助您轻松上云!来自:其他本节定义了云耀云服务器上报云监控…

推荐一个专注程序员编程提效网站,编程学习利器,建议点赞收藏

今天给大家分享一个专注程序员编程提效网站。 在这里有程序员学习开发几乎想要的一切导航。 1、常用学习手册 LeetCode、SQL、Java、Python、Go、Redis等详细手册。 2、技术社区 程序员主流的技术社区几乎都在这里! 3、技术团队 我自己关注的几个好一些技术团队…

神级编程网站,堪称程序员的充电站,我给你找好了不能错过

准备了几个网站,希望能帮助各位朋友。不多说直接来干货内容。 刷面类网站 0x00 牛客网—面经和刷面试题 牛客网作为国内内容超级丰富的 IT 题库,题库面试学习求职讨论考研题库招聘内推,堪称"互联网求职神器"。各个公司的面试题和…

pip无法更新_如何用Python Django创建网站?系列文章03(持续更新...)

第三篇文章主要介绍的是如何将Django网站部署到阿里云服务器上,具体的流程如下图所示:我们会按照这张思维导图的顺序逐个展开讲解:Section I, Ubuntu(1)我们需要在阿里云上租一台新的服务器,选择系统类型&a…

如何主动触发时间选择器弹窗_提升网站性能和用户体验:如何提升 CSS 性能的小知识...

大家都知道,对于网站来说,性能至关重要,CSS作为页面渲染和内容展现的重要环节,影响着用户对整个网站的第一体验。因此,与其相关的性能优化是不容忽视的。对于性能优化我们常常在项目完成时才去考虑,经常在项…