首页 > 代码库 > 服务的扩展性
服务的扩展性
1、前言
最近在看大型网站架构的书籍,书中介绍了大型网站支持扩展性。大概意思就是当服务器出现性能的不足的时,如何调整服务器,用来满足更多的请求。之前对这个扩展概念不是很清楚,仔细看了一下扩展分为水平扩展和垂直扩展两种。今天总结一下服务扩展性的知识点。主要内容为(1)服务器扩展性是什么?为什么需要扩展性,在什么场景下需要考虑服务扩展性?(2)扩展性有哪些实现方式,各自有什么区别,实际工作中如何选择?
2、基本概念
以一个网站的应用场景为例进行讲解。任何一个大型的网站都是从小网站一步一步发展过来的,因此在刚开始的时候,只部署了一台Web服务器,在访问量不多的时候,网站运行的很好。随着访问量越来越多,由于单台Web服务器对外提供的服务有限,此时就容易出现部分用户无法正常访问网站,这个时候就需要考虑如何改进Web服务器的性能。如何做到对现有系统影响最小的情况下,系统功能可以持续扩展或提升性能。首先排除从代码优化角度考虑,如何从服务器扩展考虑。扩展其实就是服务器资源的添加,例如内存资源、CPU资源、磁盘资源等。添加资源后,保证Web服务器可以正常运行。扩展分为水平扩展和垂直扩展两种方式。
垂直扩展:
假设刚开始有一台Web服务器,在使用过程中,发现内存资源不足,当前内存只有16G,正好服务器还有剩余的内存槽可以使用,于是买一根内存条插上即可。
水平扩展:
Web服务器上内存槽都被用完了,没有地方可以扩展内存了,这个时候就需要重新购买一太Web服务器。这个时候就有两台Web服务器对外提供服务了,需要考虑负载均衡。
服务的扩展性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。