软件架构阶段变化的特点以及前后架构更替的原因和关系

发布时间:2020-05-23 10:29:03 作者:Leah
来源:亿速云 阅读:647

今天小编就为大家带来一篇介绍软件架构阶段变化的特点以及前后架构更替的原因和关系的文章。小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。

架构设计的演进过程

业务驱动技术的发展是亘古不变的道理。最开始的时候,业务量少,业务复杂度低,采取的技术也相对简单,基本满足用户对功能的需求。随着IT信息化的普及,更多的交易放到了网络上,信息量增加和访问次数频繁就是要解决的问题了。因此,逐渐加入了缓存、集群等技术手段。同时对业务的扩展性和伸缩性的要求也越来越高。高并发、高可用、可伸缩、可扩展、够安全的软件架构一直是架构设计追求的目标。今天我们来看一下架构设计经历了哪些阶段,每个阶段都解决了哪些问题,又引出了哪些新问题。主要是引起大家的思考,在不同的业务发展阶段采取合适技术手段,用变化拥抱变化是IT人追求的目标。

应用与数据一体模式

最早的业务应用以网站、OA等为主,访问的人数有限,单台服务器就能够应付。通常,将应用程序和数据库部署到一台服务器上面,如图1-1所示。在这一阶段,我们利用LAMP(Linux Apache MySQL PHP)技术就可以迅速搞定,并且这些工具都是开源的。很长一段时间内,有各种针对这种应用模式的开源代码可以使用。这种模式基本上没有高并发的要求,可用性也很差。有的服务器采用托管模式,上面就安装了不同的业务应用,一旦服务器出现问题,所有的应用就罢工了。不过其开发和部署成本相对较低,适合刚刚起步的应用服务。图1 就描述了单个应用和数据库运行在单台服务器的模式,我们称这种模式为应用与数据一体模式。
软件架构阶段变化的特点以及前后架构更替的原因和关系
图 1 应用与数据一体模式

应用与数据分离模式

随着业务的发展,用户数和请求数逐渐上升,服务器的性能出现了问题。其中比较简单的解决方案就是增加资源,将业务应用和数据存储分开,其架构图如图2所示。其中,应用服务器需要处理大量的业务请求,对CPU和内存有一定要求;而数据库服务器需要对数据进行存储和索引等IO操作,对磁盘的转速和内存会考虑更多。这样的分离解决了性能的问题,我们需要扩展更多的硬件资源让其各司其职,使系统可以处理更多的用户请求。虽然业务上依旧存在耦和,但硬件层面的分离在可用性上比一体式设计要好很多。
软件架构阶段变化的特点以及前后架构更替的原因和关系
图2 应用与数据分离模式

缓存的加入

随着信息化系统的发展和使用互联网人数的增多,业务量、用户量、数据量都在增长。我们同时发现,用户会对某些数据的请求量特别大,例如新闻、商品信息和热门消息。之前这些信息的获取方式是依靠数据库,因此受到数据库IO性能的影响。此时数据库成为了整个系统的瓶颈。如果再增加服务器的数量,恐怕也很难解决,于是缓存技术就登场了,其架构图如图3所示。这里提到的缓存技术分为客户端浏览器缓存、应用服务器本地缓存和缓存服务器缓存。

推荐阅读:
  1. 软件架构中的单体架构有哪些特点?
  2. 软件架构的10个常见模式

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

软件架构 微服务

上一篇:Centos中访问html页面时出现中文乱码怎么办?

下一篇:调用ribbon的使用示例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》