课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分布式系统架构是随着互联网的不断发展而逐渐被程序员所掌握的一种架构方法,而今天我们就通过案例分析来简单了解一下,分布式系统架构的概念以及提高性能的方法都有哪些。
1.分布式系统架构的定义
什么叫分布式系统架构?
将单体应用拆分成多个子系统,每个子系统运行在各自的进程中,子系统间相互通讯,从而使整个系统运转起来,这就是分布式系统架构。
2.传统单体应用与分布式系统架构的优缺点
分布式系统相比较于单体应用有着很多的优势,比如能增加系统吞吐量,加强系统高可用性等。
3.分布式系统的技术栈
构建分布式系统架构的目的是为了增加系统吞吐量,提高系统的可用性。在技术方面实际上就是通过集群技术将并发请求负载分散到不同的机器上,提高系统可用性,将服务故障隔离防止出现“多米诺骨牌”效应。
缓存系统
加入缓存系统可以有效地提高系统的性能,从前端的浏览器,到网络,再到后端的服务,底层的数据库、文件系统、硬盘和CPU,全都有缓存,这是提高快速访问能力有效的手段。在分布式系统架构中需要一个缓存集群。
负载均衡系统
负载均衡系统是水平扩展的关键技术,它可以使用多台机器来共同分担一部分流量请求。
异步调用
异步系统主要通过消息队列来对请求做排队处理,这样可以把前端的请求的峰值给“削平”了,而后端通过自己能够处理的速度来处理请求。这样可以增加系统的吞吐量,但是实时性就差很多了。同时,还会引入消息丢失的问题,所以要对消息做持久化,这会造成“有状态”的结点,从而增加了服务调度的难度。
数据分区和数据镜像
数据分区是把数据按一定的方式分成多个区(比如通过地理位置),不同的数据区来分担不同区的流量。这需要一个数据路由的中间件,会导致跨库的Join和跨库的事务非常复杂。而数据镜像是把一个数据库镜像成多份一样的数据,这样就不需要数据路由的中间件了。你可以在任意结点上进行读写,内部会自行同步数据。然而,数据镜像中大的问题就是数据的一致性问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。