首页 > 科技 > 问答 > 科技经验 > 系统架构都有哪些,常见典型系统架构

系统架构都有哪些,常见典型系统架构

来源:整理 时间:2022-04-24 15:56:35 编辑:科技知识 手机版

软件产品的架构,通常都是随着业务的发展而不断演变的;我从事软件开发行业也有十余年了,遇到过的软件(企业级应用,我是从事Java开发)架构主要有这么几种:单体架构架构总的概括来说,单体架构就是应用所有的功能,只有一个代码包,开发和部署都在一起,这是一种比较传统的架构风格;当然,单体架构也有着诸多的缺点:代码越来越多,增加了代码的复杂性;作为开发人员一定深有感触,每当修改一个老方法的时候,一定会格外的小心翼翼,生怕影响了其他的功能;单体应用需要统一技术栈,团队中的开发人员,都需要掌握相同的开发语言和框架;随着开发人员的流动,老员工离开项目组,复杂且庞大的项目代码又让新成员难以阅读和理解,技术债务越积越多;代码都在一个代码包中,就算是修改一个小小的功能,都要把整个项目打包上线;所有的模块都运行在同一个JVM中,非关键性业务可能占用大量的资源,导致关键性业务发生问题;不能单独对某一个模块进行扩展。

系统架构都经历了怎样的演变?

系统架构都经历了怎样的演变

一个好的架构是靠演变而来,而不是单纯的靠设计。刚开始做架构设计,我们不可能全方位的考虑到架构的高性能、高扩展性、高安全等各方面的因素。随着业务需求越来越多、业务访问压力越来越大,架构不断的演变及进化,因而造就了一个成熟稳定的大型架构。如淘宝网、Facebook等大型网站的架构,无不从一个小型规模架构,不断进化及演变成为一个大型网站架构。

随着云计算的到来,当前已经从IT时代向DT时代开始转型。在云端如何构建千万级架构,本文主要结合自身的最佳实践经验,向大家分享如何从一个小型网站逐步演变到千万级架构的过程。 架构原始阶段:万能的单机 架构的最原始阶段,即一台ECS服务器搞定一切。传统官网、论坛等应用,只需要一台ECS。对应的web服务器、数据库、静态文件资源等,部署到一台ECS上即可。

一般5万pv到30万pv访问量,结合内核参数调优、web应用性能参数调优、数据库调优,基本上能够稳定的运行。架构采用单台ECS:架构基础阶段:物理分离web和数据库 当访问压力达到50万pv到100万pv的时候,部署在一台服务器上面的web应用及数据库等服务应用,会对服务器的CPU/内存/磁盘/带宽等系统资源进行竞争。

显然单机已经出现性能瓶颈。我们将web应用和数据库物理分离单独部署,解决对应性能问题。这里的架构采用ECS RDS: 架构动静分离阶段:静态缓存 文件存储 当访问压力达到100万pv到300万pv的时候,我们看到前端web服务出现性能瓶颈。大量的web请求被堵塞,同时服务器的CPU、磁盘IO、带宽都有压力。

这时候我们一方面将网站图片、js、css、html及应用服务相关的文件存储在oss中,另外一方面通过CDN将静态资源分布式缓存在各个节点实现“就近访问”。通过将动态请求、静态请求的访问分离(“动静分离”),有效解决服务器在磁盘IO、带宽方面的访问压力。架构采用CDN ECS OSS RDS:架构分布式阶段:负载均衡 当访问压力达到300万pv到500万pv的时候,虽然“动静分离”有效分离了静态请求的压力,但是动态请求的压力已经让服务器“吃不消”。

最直观的现象是,前端访问堵塞、延迟、服务器进程增多、cpu100%,并且出现常见502/503/504的错误码。显然单台web服务器已经满足不了需求,这里需要通过负载均衡技术增加多台web服务器(对应ECS可以选择不同可用区,进一步保障高可用)。因而告别单机的时代,转变分布式架构的阶段。架构采用CDN SLB ECS OSS RDS:架构数据缓存阶段:数据库缓存 当访问压力达到500万pv到1000万pv,虽然负载均衡结合多台web服务器,解决了动态请求的性能压力。

但是这时候我们发现,数据库出现压力瓶颈,常见的现象就是RDS的连接数增加并且堵塞、CPU100%、IOPS飙升。这个时候我们通过数据库缓存,有效减少数据库访问压力,进一步提升性能。架构采用CDN SLB ECS OSS 云数据库memcache RDS :架构扩展阶段:垂直扩展 当访问量达到1000万pv到5000万pv,虽然这个时候我们可以看到通过分布式文件系统OSS已经解决了文件存储的性能问题,CDN也已经解决静态资源访问的性能问题。

但是当访问压力再次增加,这个时候web服务器和数据库方面依旧是瓶颈。在此我们通过垂直扩展,进一步切分web服务器和数据库的压力,解决性能问题。“何为垂直扩展,按照不同的业务(或者数据库)切分到不同的服务器(或者数据库)之上,这种切分称之为垂直扩展。” 垂直扩展第一招:业务拆分在业务层,可以把不同的功能模块拆分到不同的服务器上面进行单独部署。

文章TAG:架构系统典型

最近更新

  • 有的商家发顺丰为什么可以发带电池的电子产品,商家竟然发的顺丰快递

    当时我们有一个食品分类组,里面很多商家,直接是厂家,占了店铺的一半。因为马云要动快递、三通一达的奶酪,无法独立生存。只是他被马云牵着鼻子走,结局肯定不好,最惨的是换成马云自建物流。 ......

    科技经验 日期:2022-06-08

  • 安卓系统为什么臃肿,安卓系统每年都说更流畅

    说实话,安卓这几年在系统流畅的线条上下了不少功夫。安卓不会自动清理后台。有的安卓手机厂商优化不了,或者用的人不知道怎么用好。久而久之,手机开始卡顿。熟悉Android系统开发的R ......

    科技经验 日期:2022-06-08

  • 苹果为什么嚣张,美国如此嚣张从哪儿来的底气

    卖猪肉的梁屠夫,告诉我为什么宇宙不是上帝主宰的。为什么现在科学在发展?反而有人认为宇宙是上帝主宰的。普朗克常数h定义的量子是宇宙中最小的粒子,是宇宙中最基本的变化载体。对宇宙真理的 ......

    科技经验 日期:2022-06-08

  • rx480 为什么没有了,rx480都8g显存了

    想象一下,一个花粉进华为手机专卖店,预算4000元买一部手机。推荐荣耀30Pro还是华为P40?华为和荣耀是同级还是上下级,华为和荣耀是什么关系,兄弟还是父子。买华为意味着产品力比 ......

    科技经验 日期:2022-06-08

  • 太阳为什么温度最高,为什么不会融化

    这也是不对的。如果时间拖得足够长,随着太阳物质核聚变的继续,物质元素融合成铁元素,基本停止反应。重的铁元素会落到太阳表面,或者形成一个固体的太阳球体。随着越来越多的铁落下,对底层的 ......

    科技经验 日期:2022-06-08

  • 流量卡为什么好卡,为什么移动的无限流量这么卡

    无线流量限速问题运营商提出的无线流量卡并不是真正的无限流量。你以为便宜的是垃圾物联网卡。这是惯例。我觉得12流量卡都是正规卡,去过无数坑,所以知道这个月租49块钱很贵,但是100g ......

    科技经验 日期:2022-06-08

  • 为什么火星叫火星,那么金星为什么不叫火星

    他实际上是苏联的二号人物。斯大林死后,他一度有可能成为苏联的领袖,但在他春风得意之时,却被昔日的战友处决了。苏联只用了20多年就赶上了美国。那么,你认为苏联的科技是先进还是落后?我 ......

    科技经验 日期:2022-06-08

  • 为什么摩拜单车变少了,摩拜单车为什么这么难骑

    没办法,穷成这样。买二手的,打折的就行。喜欢苹果手机的人有以下几种可能:全新的6800元左右,二手的4000元左右,没有五官的才2000多点。价格差别还是很大的,所以有些人喜欢便宜 ......

    科技经验 日期:2022-06-08