问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

传统IT架构的演进过程

创作时间:
作者:
@小白创作中心

传统IT架构的演进过程

引用
CSDN
1.
https://blog.csdn.net/qq_45257377/article/details/144549988

传统IT架构经历了从单体应用到分布式系统的演变过程,而云计算的出现又带来了新的架构变革。本文详细介绍了传统IT架构的演进历程以及云上IT架构的特点,帮助读者全面了解IT架构的发展脉络。

前言

传统IT架构演进过程是一个从简单到复杂,从集中分布式的逐步发展过程。
虽然现在云计算的出现,给IT架构领域带来的极大的变化,但是传统的IT架构仍是各企业的核心架构之一,并表现出难以替代的状况。
基于此,我们在信息化的过程中,还是可以再了解一下IT架构的变革与发展。

一、传统IT架构

1.单体应用

单体应用指的是应用程序数据库文件等所有的资源都在同一台服务器上。

此时,通常服务器操作系统使用Linux,应用程序使用PHP进行开发,然后部署到Apache(Web服务器软件)上,数据库采用MySQL。就像在个人的PC上配置模拟实验环境一样,只不过换成一个配置高的PC电脑;

2.应用与数据库分离

随着数据库数据量的增大,一台服务器往往无法满足存储需求;此时,单台服务器的性能瓶颈也体现了出来。

此时,可以通过配置3台不同的服务器,让和应用程序、数据库和文件分别部署在独立的资源上,每台服务器用来处理不同的业务和功能。
此时,服务器的算力得到提升,并发处理能力和数据存储空间得到了有效改善

3.缓存的出现

随着数据的使用,数据管理员发现,用户总是访问数据库中一小部分数据,而数据库每天既要承担这一小部分数据的访问任务,又要承担数据增加、修改、删除等其他任务,压力逐渐变大。
由于这一小部分数据访问的压力可能消耗数据库服务器处理任务的一大半精力,那么就有人想到办法,把这个一小部分数据独立出来
这样的话,就可以减少数据库的访问次数,降低数据库的访问压力

小知识,系统访问特点总是遵循二八定律,即80%的业务访问集中在20%的数据上。
缓存又分为本地缓存和远程分布式缓存
本地缓存是放到应用服务器上,访问速度更快,但缓存数量非常有限。同时可能会影响本地应用程序的内存使用。
远程分布式缓存就是给“二”单独做了个数据库了。

4.应用服务器集群

如果应用访问量上去了,客户增多了,那么单台应用服务器对外提供成千上百的服务,很容易就挂掉,也很容易造成拥堵。

那么就增加多台应用服务器,组成应用服务器集群,同时接应服务,解决高并发,海量数据的问题。
同时,利用负载均衡技术,增加负载均衡调度服务器,多台服务器通过负载均衡同时向外部提供服务

5.数据库读写分离

同理,在数据库上,将数据库按照读写功能进行拆分,做主从处理,再解决数据库层面上服务器处理能力上限的问题。

注意,此时写库和读库做数据同步,保证数据一致性;

6.反向代理和CDN加速

有些应用系统面向的是不同地区多用户的访问,势必会通过层层叠叠的运营商网络,从客户端到最终的应用端。
国内北方的朋友访问处于南方的服务器时,难免有网络的卡顿和延迟。为此,应用系统可以采用CDN服务和反向代理来加快系统的访问速度,提升客户体验。

CDN和反向代理的基本原理都是缓存,能够将用户访问的部分数据存在本地或靠近用户侧的CDN服务器上,减轻后端服务器的压力。

7.分布式系统

单一的服务器是满足不了持续增长的业务需求的,那么采用分布式系统,是一种好的解决方案。

将文件库、数据库都采用分布式的架构,能够承受住大并发、高性能的需求。
不过,分布式数据库也是数据库拆分的最终方法了,只有在单表数据库非常庞大的时候才会使用
更常用的数据库拆分手段是业务分库,将不同的业务数据库部署在不同的物理服务器上,减小单台服务器压力;

8.非关系型数据库

随着业务越来越复杂,对数据存储和检索的需求也越来越复杂,系统需要采用一些非关系型数据库,如NoSQL和数据库查询技术(如搜索引擎)来解决相关问题。

应用服务器通过统一数据访问模块访问各种数据,同时减轻应用程序管理诸多数据源的麻烦。

二、传统IT架构面临的挑战

一、烟囱太多
没有规范的IT战略和规划,导致系统功能重复性开发较多,浪费投资;

二、数据治理难
系统之间相互独立,造成数据分散,无法有效的管理到数据之间的关系,进而无法给到领导决策层需要的分析数据和报告。

三、业务流程无法贯通
不同的软件由不同的部门牵头建设,不同的厂家采用不同的模型和接口协议,导致业务流程较难贯穿各个系统。

四、架构固化
业务变化巨大,速度之快,业务流程无法跟上,难以应对变化,只能新建系统或者大范围的更新改造,无法通过轻微的系统改造实现。

三、云上IT架构

云上架构是一种全新的技术架构,将IT资源(服务器、存储、网络)有效整合,形成统一资源池,以服务的方式对外提供云服务。

1.单台云服务器

和传统架构类似,只不过是使用的云上的单台服务器,就不多说。

2.应用与数据库分离

通过传统架构我们得知,分离的目的是为了解决单台的处理瓶颈问题
和传统架构的优势在于,我们可以直接使用云上的云数据库资源,利用其丰富的数据结构,适配不同业务类型的业务场景开发。

3.负载均衡技术

在多台服务器同时接应业务时,也会使用到负载均衡的概念。
云服务器在采用多台服务器部署时,会采用集群技术,即在云上部署一组由相同应用的云服务器,云服务器的数量能够不断扩充。
在集群的前端,我们采用负载均衡的技术,平均分散用户的请求到不同的云处理器,并且能够在集群中某个服务失效时,及时感知,并屏蔽,将消息转发到其他可用服务器上。

4.对象存储和CDN加速

通过将动态请求静态请求的访问分离,有效解决服务器的CPU、内存、磁盘,以及带宽的压力。
利用对象存储(OSS)有三个优点:
1.降低Web服务器负载,静态文件访问负载全部通过CDN解决。
2.对象存储设备以机械硬盘为主,成本较低,存储费用仅为云服务器存储费用的50%。
3.存储空间可海量扩展,无需考虑存储架构的升级
4.流量较低,相比直接通过请求网络访问,对象存储访问的流程主要来源于CDN节点,而CDN访问的流量单价远远小于原本网络访问的单价。

5.数据库升级

(1)缓存数据库
通过缓存数据库,能够有效减少数据库的访问压力。

(2)读写分离
在数据层,结合数据库缓存,当数据库压力没有那么大的时候,通过读写分离解决一部分数据库的压力。

(3)分库分表
将不同的应用按照功能的不同,分别存放再不同的数据库中。

6.NoSQL数据库

NoSQL数据库也称作非关系型数据库,可采用不同于行和表的关系型(SQL)数据库的方式处理大量快速变化的非结构化数据。
常见的NoSQL数据库类型是:
(1)键值:键值存储使用哈希表对键和值进行配对。键已知而其关联值未知时,键值类型最佳。
(2)文档:文档型数据库通过将整个文档整理为称作集合的组来扩展键值数据库的概念。它们支持嵌套的键值对,并且允许查询文档中的任何属性。
(3)列式:分栏式、宽列或列系列数据库可有效存储数据并在稀疏数据行间进行查询,在查询数据库中的特定列时也十分有用。
(4)图形:图形数据库使用基于节点和边缘的模型来表示互连数据(例如社交网络中人员之间的关系),能够简化复杂关系的存储和导航。
我们以“No-SQL搜索引擎”为例,引入之后能够大大的提高查询速度。
但是,这样的话,也无形中增加了一部分工作量。
需要自主实现索引的构建过程,设计全量增加的构建方式来应对非实时与实时的查询需求。

7.中间件

在该架构中,我们需要关注的消息中间件,即在消息传输过程中中保存消息的容器,我们的系统中可能出现不同语言开发的子模块,和部署在不同平台的子系统,
此时我们需要一个平台来传递可靠的,与平台和语言无关的数据,并且能够把负载均衡透明化,能在调用过程中收集调用数据并分析,推测出一系列需求,做出相关预测。

四、云上架构的优势

(1)随需提供
简化信息资源的获取,提高信息服务质量。

(2)降低成本
降低IT总投资成本,降低运维服务成本,延长IT设备资产的寿命。

(3)提高效率
提高系统运行效率、资源效能、以及运维管理效率。

(4)提高可靠性
提高数据存储的可靠性,实现计算的安全稳定。

五、总结

虽然云上架构是行业内显著的趋势,但可预见的是,近三年内,传统架构仍会有相当一定的保有量,毕竟不是所有系统上云都那么简单、快捷。从业务上影响度最低来讲,云迁移是一个软件、硬件配合的漫长过程,需要有效的手段来改变。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号