美文网首页
划重点,什么是分布式系统架构!

划重点,什么是分布式系统架构!

作者: Titan框架 | 来源:发表于2019-01-25 15:58 被阅读0次

分布式系统架构,顾名思义,就是将多软件架构设计分散开来,运行在多个服务器上。当今,分布式系统架构思维充斥着互联网企业的每个角落,那么分布式系统架构有何与众不同,能够抢占互联网市场呢。本文将就分布式系统架构对比单体架构的优势、分布式系统架构的应用场景以及常见系统架构展开讲述。

随着互联网技术的飞速发展,企业发展需求不断增长,传统单一架构无法满足企业的需求,随之各类架构模式应运而生,分布式系统架构便是其中一种。我们在了解分布式架构之前可以先研究下分布式。

分布式就好比是一个蜂巢的结构,由各个不同的节点组成,每个节点都有不同的功能,且布置在不同的服务器上,各节点之间相互连接、相互请求从而实现整个系统的功能。分布式具有高并发,高透明,高内聚、低耦合度的优势。

高并发是互联网分布式系统架构设计中非常重要的因素,高并发性是指通过分布式设计保证系统能够同时并行处理很多请求,或一个程序可以分布在几台计算机上并行的运行;

高透明是指分布式系统中所有计算机资源可以共享,单台计算机不但可以使用本机的资源信息,还可以通过分布式的功能享用同系统中其他计算机的资源;

高内聚、低耦合度指每台计算机都可进行独立开发、独立部署、独立测试工作,有效降低各环节的相互依赖性,开发效率大大提升。

架构单体应用,单台计算机系统中包含了所有应用程序的应用方式,我们称之为单体架构。在传统互联网行业中,单体架构占据主导地位。而随着互联网技术的发展和演变,单体架构的缺点日益显现。

单机处理能力:单机的处理工作主要依靠CPU、内存、磁盘,通过硬件升级方式来实现提升性能,从而使研发成本高涨且性能仍不能完全保证高效;

系统可用性:我们的系统通常都是全天24小时运行的,一旦系统发生故障或某个环节出现BUG就会导致整条业务线瘫痪,影响工作进度;

系统迭代:在单体架构中,所有功能都在一个系统里面,在每一次迭代工作中,代码分支众多,迭代任务繁重;

团队合作:整个系统由一个团队或个人完成,庞大工作量必然会增长项目进度,没有团队间的沟通协作,负责成员需要恶补专业知识才能填补工作中遇到的问题,降低工作效率。

综上所述,垂直或者水平拆分业务系统,将不同工作系统部署在不同的机器上,不但可以保障系统的高可用性,还可以大大加快开发和发布的进程。

分布式系统架构的应用场景

分布式系统架构的选用是由于我们的需求决定的,若系统有以下两点需求,那么我们便可以考虑采用分布式架构来实现工作:

1. 数据存储的分区容错,在研发作业中,几乎每天都有可能会遇到故障,而恢复这些故障是十分重要的。我们拿电商平台举例,买家完成购买操作,提交钱款,如果系统出现故障,可能会出现商家无货款到账信息的显示,这种情况就需要采用分布式系统架构来完成了,一个电商平台每天可能会接收无数订单信息,单机出现故障追踪起来会十分困难,甚至造成数据丢失。分布式系统架构具有心跳包和租约机制功能,能定期监测系统是否存在故障,而即使出现故障整个系统也不会被宕掉。

2. 应用访问量高,如果系统访问量过高,使用单机架构模式,很有可能会导致系统瘫痪,比如我们熟知的双十一活动,京东或淘宝若选用单机架构,几亿甚至几十亿的访问成交压力集中在单一系统中,瘫痪后损失可想而知。

常见系统架构

SOA

SOA(Service Oriented Architecture),译为中文为面向服务的架构。SOA架构最早在1996年由Gartner公司提出,由于当时的技术水平和市场环境尚不具备真正实施SOA的条件,且SOA本身较单体架构而言也是聊胜于无,在工作中调用一个服务时,这个服务会调用另一个服务,然后又调用另外的服务,耦合度十分高,因此当时SOA并未引起人们的广泛关注。

而Gartner 团队对SOA的研究从未中断过,直到2000年左右Gartner 推出比较松耦合的 SOA 架构,它好比一个组件模型,将应用程序中不同的服务通过一个定义好的契约或中间件联系起来(比如ESB),ESB完成消息的转化和路由工作,将各服务连接在一起。从而实现服务间并不直接依赖,而是通过契约或中间件相互依赖。在当时SOA已成为一种非常流行的软件架构设计范式。

微服务

微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章。微服务架构是继SOA之后更加低耦合的一种架构,所谓微服务架构就是将业务系统拆分成多个可以独立开发设计的小应用,各服务之间有一个服务编排或服务整合的引擎,就像我们上面说的电商系统,一个完整的电商系统的购物车功能、登录功能、注册功能可以分配给不同的组完成,在微服务架构中各小组独立完成自己的工作,企业只要做好集中管理就可以了。

TitanFramework是云季科技自主研发的高性能微服务框架产品,框架基于CQRS(领域驱动设计)和Event Source结构的基础结构,让整体分布式系统通过消息事件来进行联动。让消息的顺序和相互依赖不再成为研发门槛。例如,交易发生瞬间,锁定账户余额、形成交易记录、增加收款方余额等诸多动作,进行默认的事件编排,任何一个节点出错,将会自动触发整体流程回滚,保障业务的稳定和流畅。

由于章节原因,本篇简单介绍这么多,欢迎各位大牛评论交流,如果对TitanFramework感兴趣可以找我,我就是云季科技。

相关文章

网友评论

      本文标题:划重点,什么是分布式系统架构!

      本文链接:https://www.haomeiwen.com/subject/watvjqtx.html