互联网架构技术演进

系统设计之路:互联网架构演进史 作者:禅与计算机程序设计艺术 1.简介 一、目的 在这篇文章中,我将以我理解的互联网架构演进过程及其历史脉络为出发点,详细阐述互联网架构发展到今天(2021年)所面临的一些主要问题以及如何解决这些问题,以及随着云计算、容器技术、微服务架构等技术的不断发展,互联网架构 阅读详情

目录

一、互联网架构演进

1. web1.0阶段

2. web2.0阶段

3. 单体阶段

4. 原始服务分离架构

5. 缓存架构

6.集群架构 

7. 数据库读写分离架构

8. 数据库分库分表

9. 搜索引擎架构

10. 微服务架构

11. 一个简化版的互联网架构

二、架构演进的一点想法

1. 用户规模的快速增长

2. 业务场景的快速丰富


一、互联网架构演进

1. web1.0阶段

用户通过浏览器访问网站服务器,往往服务器上的资源是静态的,仅仅包含html、js、css等内容,没有和用户进行交互,都是单向的,这是web1.0里面常见的模式。整个架构如下图所示:

 

2. web2.0阶段

到了web2.0,上面的架构中引入了数据库,用户和服务器之间有了一定的交互,用户可以增加删除和修改一些数据,这些数据存储在数据库里面,架构如下:

3. 单体阶段

提供了一台服务器,服务器里面会部署我们的javaweb程序,数据库服务、文件服务。

4. 原始服务分离架构

随着用户规模的提升,单体服务器的性能瓶颈越来越严重,不管是数据库,还是文件服务器,性能都越来越乏力,无论是cpu,网络、io都吃不消,同时单体服务一旦宕机,服务器不可访问,整个服务架构演变为网站服务器、文件服务器、数据库服务器。这是最初的分离模式,实现了单体服务的降压。如图:

5. 缓存架构

随着时间的推移,用户数量大规模的增加,访问请求越来越多,数据库的压力越来越大,用户的访问越来越慢,体验越来越不

好,这个时候就引入缓存中间件。架构如图:

6.集群架构 

上面为止,所有的部署都是单节点部署,一旦其中一个节点宕机,那么用户是无法访问的,对企业来说是具有毁灭性影响的,并且单节点部署还是有很严重的性能问题,于是引入集群与负载均衡的架构,架构如图:

7. 数据库读写分离架构

到目前为止除了大部分的请求落入到缓存,但是还有一部分请求的读写落入到数据库上,数据库很快成为整个服务的瓶颈,于是引入了数据库的读写分离架构。如图所示:

8. 数据库分库分表

虽然做了读写分离,但是大型网站的业务还是会急剧增长,如果数据库扛不住了,这个时候可以进行分库分表,一般来说,当数据库单表达到800万左右,就开始考虑分库分表了。如图所示:

9. 搜索引擎架构

随着网站的进一步发展,用户对于检索的要求也多样化,特别是模糊查询,数据库可能满足不了用户的需求,并且如果在数据库中进行查询的话,会对数据库造成一定的压力,所以这个时候会引入相应的搜索引擎,比如solr或者es。如图所示:

10. 微服务架构

大型网站的业务通常非常复杂,这个时候,需要将复杂业务拆分成小的产品线,比如电商系统,这个就是微服务阶段,如图所示:

11. 一个简化版的互联网架构

二、架构演进的一点想法

在之前的架构演进中,明显有着两条主线:

1. 用户规模的快速增长

网站的架构不断的演进。随着大型互联网公司越来越多,用户群体规模已经达到了最大,像微信、淘宝这类公司,用户规模再上升已经非常困难了,而且支撑大规模用户的架构趋于成熟,相关的架构技术也不断在独角兽相关的公司开始普及。而这个时候大公司开始着重已有成熟架构的优化,比如微服务架构的优化方向上产生了新一代的ServiceMesh架构。

2. 业务场景的快速丰富

网站架构也不断演进。刚开始的web1.0只支持静态页面资源访问,而且是单向的服务,后来诞生了用户交互相关的需求,多媒体相关的需求,用户访问性能方面的需求,但是目前网站上依然是一大堆静态的资源。下一阶段,随着webGL、VR等技术的发展,互联网会呈现出用户更多的需求。比如目前在淘宝上买东西,依然是以图片、视频等静态资源的形式进行访问的,以后用户可以随意旋转物体,360度无死角的拖动旋转,如同玩游戏一样,不在需要图片的形式进行展现,直接以动态模型的形式进行展现。

华为项目TR5评审后发现了重大缺陷的应急处理经验 华为TR5评审后发现重大缺陷时,启动分级应急机制:1)缺陷分级:按严重性(致命/严重/一般)评估影响;2)应急响应:跨部门会议制定方案,冻结生产并调配资源;3)根因修复:通过RCA定位问题,设计变更后回归测试;4)变更管理:评审修复影响,调整发布策略;5)持续改进:记录缺陷闭环,优化流程。案例显示,软件闪退问题通过热修复补丁和代码重构解决。关键工具包括Jira、FMEA等,确保缺陷在量产前拦截,降低风险。 阅读详情

相关推荐

机器学习篇-KNN算法实现鸢尾花模型和手写数字识别模型

一个样本最相似的k个样本中的大多数属于某一个类别, 则该样本也属于这个类别类似于: 近朱者赤近墨者黑回归机器建模流程:数据获取数据基本处理(空值和非法值)特征工程(特征提取, 特征预处理(归一化, 标准化), 特征降维, 特征选择, 特征组合)模型训练模型预测模型评估# 1. 定义函数 dm01_load_iris(), 用于加载 鸢尾花数据集, 并简单查看下数据集的各部分.# 1. 加载数据集.​# 2. 打印iris_data, 发现其实是1个: 字典.​。

m0_60916732的博客 2404

互联网架构的演进历程

互联网架构的演进历程

KaKaa__的博客 779

Nginx配置Cookie安全属性:HttpOnly、Secure、SameSite实战指南

Cookie是Web应用中维持用户状态的核心机制,其安全配置直接关系到会话管理与身份认证的可靠性。从原理上讲,HttpOnly属性可防止XSS攻击窃取Cookie,Secure属性确保Cookie仅在HTTPS加密连接中传输,而SameSite属性则用于控制跨站请求时Cookie的发送行为,能有效防御CSRF攻击。这些安全属性的技术价值在于构建纵深防御体系,提升应用的整体安全性。在现代浏览器(如Chrome 80+)默认将未明确声明的Cookie视为SameSite=Lax的背景下,正确配置这些属性变得尤为

weixin_33783283的博客 322

互联网架构升级改造演进过程,一文带你了解互联网架构的变迁

SOA是一种粗颗粒、松耦合的以服务为中心的架构,接口之间通过定义明确的协议和接口进行通信。SOA帮助企业架构师以更快速、可靠和可重用的形式规划整个业务系统,相比传统非服务化架构,SOA更加从容地应对复杂企业系统集成和需求的快速变化。接口采用中立的方式进行定义,独立于硬件平台、操作系统和编程语言(SOAP、WSDL、XML等通用语言)。

秃了也弱了 1730

彩虹期权定价

彩虹期权的定价较为复杂,因为它涉及多个标的资产的联合分布。蒙特卡洛模拟(Monte Carlo Simulation):通过模拟多个标的资产价格路径,计算期权的预期支付。解析近似方法:如马尔可夫链近似方法或多变量Black-Scholes公式的扩展。数值方法:如有限差分法或傅里叶变换法,适用于某些特定条件下的多资产期权定价。由于彩虹期权涉及多个标的资产,我们通常使用蒙特卡洛模拟来进行定价。接下来,我将演示如何使用Heston模型和蒙特卡洛模拟方法来定价彩虹期权。

智能科技前沿 1859

冗余位技术在SAR ADC中的动态误差恢复机制解析

本文深入解析了冗余位技术在SAR ADC中的动态误差恢复机制,详细介绍了其基本概念、动态误差产生原因及冗余位的容错空间设计、时序松弛策略和数字校正算法。通过实际电路设计案例和数学建模,展示了冗余位技术如何显著提升ADC的精度和能效比,同时探讨了未来发展方向。

weixin_28335283的博客 975

互联网架构演变过程

微服务架构:微服务架构是一种特殊的分布式架构,将应用划分为更小、更独立的服务单元,每个服务单元负责一个特定的业务功能。无服务器部署(Serverless Deployment):将应用程序的业务逻辑部署到无服务器计算平台(如AWS Lambda、Azure Functions等),无需关心底层的服务器和基础设施。无服务器部署(Serverless Deployment):将应用程序的业务逻辑部署到无服务器计算平台(如AWS Lambda、Azure Functions等),无需关心底层的服务器和基础设施。

weixin_41545189的博客 1589

QuickFix Java 讲解(一)概述、下载方法,和协议内容

本系列力求手把手教你怎样利用QuickFix Java 搭建自己的 FIX 协议收法平台,以及其中的注意事项。 所有源码的地址(免费): https://github.com/zongzhec/QuickFixPractise 1. 什么是FIX,QuickFix,Quick Java? 1.1. 什么是FIX 官网以及其他翻译自官网的帖子都太官方了,这里我们设想一个情景: 你是一个交易员,现在客户打电话来让你下个单买点股票。你啪啪啪的在你的机器上熟练地输入了下单指令。系统显示:成...

4574

互联网架构演进之路

互联网产品常常面临庞大的用户量,日均数十亿PV的高并发,PB级别的数据存储等问题的挑战,同时要求保证系统的高可用和弹性伸缩,并且能够根据需要进行快速迭代扩展,这些都对于系统架构提出了很高的要求。 互联网架构从简到繁的演进经历了单体架构-水平分层架构/SOA架构-微服务架构以及最新的service mesh的演进过程。如下图: 一、单体架构 早期互联网产品用户量少,...

chaoyuehu的博客 1万+

YOLOv8全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 518

自动驾驶模拟器:基于 Python + Carla,在家也能训练一个“L4 级”自动驾驶 AI 模型

市面上有很多模拟器(AirSim, LGSVL),但 Carla 是目前学术界和工业界最主流的选择。画质强:基于 UE4,光影、天气(下雨、夕阳)极其逼真,这对训练视觉模型至关重要。API 爽:完全使用 Python 控制,对 AI 工程师极度友好。资产多:内置各种车辆、行人、交通信号灯、城市地图。编写 Python 代码,让车自己在城市里跑,通过摄像头看到路况,自己决定怎么打方向盘。通过 Carla,我们把价值数百万的自动驾驶测试场搬进了电脑。

BUG猿的博客 269

阿里8年资深技术专家谈企业级互联网架构的演进之路

沈询,阿里巴巴中间件&稳定性平台资深技术专家,在淘宝工作八年间,主要负责的产品有淘宝分布式数据库(TDDL/DRDS)、分布式消息系统(Notify/ONS)等,...

架构文摘 887

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

某零售云技术的互联网架构发展演进之路讲解

https://www.toutiao.com/a6663764082283250180/?tt_from=mobile_qq&utm_campaign=client_share&timestamp=1551531159&app=news_article&utm_source=mobile_qq&iid=64554186805&utm_medium=...

azhuyangjun的博客 696

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

互联网架构的演进:从“WWW”前缀到现代安全传输协议的技术分析

本文分析了互联网架构从传统“WWW”前缀到现代安全协议的演进历程。早期“WWW”子域名用于区分服务类型,但随着技术发展,裸域名因简洁性更受欢迎。然而,DNS规范限制裸域名使用CNAME记录,影响CDN部署,促使大型网站保留“WWW”前缀。此外,Cookie作用域管理要求子域名隔离以提升性能和安全性。HTTP协议从1.1到3的演进解决了队头阻塞问题,QUIC协议基于UDP实现更高效的传输。HTTPS通过TLS加密保障通信安全,证书验证机制不断优化。这些技术变革共同推动了互联网向高性能、高安全性的架构转型。

greenspan的专栏 483

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

架构实践05-互联网架构模板

SQL(关系数据库):特点:开源免费,性能相对较差。解决方案:数据库拆分、中间件(如DBProxy、TDDL)、SQL存储平台(如UMP)。挑战:性能要求高,数据拆分和组合复杂。NoSQL(非关系数据库):特点:数据结构多样,性能优越。应用场景:补充关系数据库,广泛应用于互联网行业。解决方案:集群功能、NoSQL存储平台(如Memcache、Redis)。挑战:大规模应用时需要集中管理和资源优化。小文件存储:特点:数据小、数量巨大、访问量大。

李宥的博客 1541

D. 互联网架构模板

D. 互联网架构模板 架构如何演进 流派 潮流派 保守派 跟风派 架构演进的驱动力 产品类:技术创新推动业务发展 服务类:业务发展推动技术创新 答案就是基于业务发展阶段进行判断 互联网技术演进的模式 核心问题:业务复杂度和用户量 业务复杂度 初创期 发展期:当业务推出后经过市场验证如果是可行的,则吸引的用户就会越来越多,此时原来不...

micklongen的专栏 632

从0开始学架构-架构实战

架构实战

hixiaoxiaoniao的专栏 8994

一、互联网架构的演变历程

主要介绍互联网架构的演变历程: 1. 阶段一 (1)数据访问量不大,简单的架构即可搞定! 2. 阶段二 (1)数据访问量大,使用缓存技术来缓解数据库的压力。 (2)不同的业务访问不同的数据库 3. 阶段三 (1)主从读写分离。 (2)之前的缓存确实能够缓解数据库的压力,但是写和读都集中在一个数据库上,压力又来了。 (3)一个数据库负责写,一个数据库负责读。分工合作。愉快! (4)让master(主数据库)来响应事务性(增删改)操作,让slave(从数据库)来响应非事务性(查询)操作,然后再采用主从复制来

DJL新时代农民工DJL 1473

互联网架构演进的过程

一、前言 15年10月,怀着憧憬与大干一场的决心,从传统行业转战互联网行业,掰着脚指头一算,快有5个年头;在这5年的光景里,见证了公司业务发展的潮起潮落。 架构从其扮演的角色,我们可以大致分为三块: 1、基础架构:封装第三方的中间件,或者公司自研的基础公共组件,供上层业务系统直接使用;同时提供一些监控手段,方便业务系统定位系统的运行情况,例如接口的调用量,平均响应,超时,失败率等待; 2、应用架构:应用的垂直拆分,应用的边界划分; 3、系统架构:更多的偏向运维层面,devlops运维...

撸起袖子加油干 814

新增多个重量级讲师,2天40个一线互联网架构案例,GIAC互联网架构大会最后2周报名...

12 月 16 ~ 17日,GIAC 全球互联网架构大会将于北京举行,只剩最后 2 周报名时间。大会特色以技术干货为目标,所有讲师由出品人及组委会邀请,无赞助演讲内容。演...

weixin_45583158的博客 206

万物流变:从辩证法看互联网架构和人生

辩证法 这两天在学习辩证法,发现辩证法的思想非常有意思。辩证法简单的说就是事物都是运动、变化和发展的,事物的对立面在某些情况下是可以互相转换的,而且正是这种矛盾推动着事物向前发展。 辩证法的思想自古有之,也是系统化思维和思辨思维的重要方法论,我们先简单看下其历史和脉络。 中国古代朴素辩证法 “祸兮福所倚,福兮祸所伏” “物极必反”, “否极泰来” “天下大势,分久必合,合久必分”。 希腊古代辩...

我的新书《代码精进之路:从码农到工匠》 1198
上一篇: NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等
我能想到的
博客等级 码龄12年 44粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值