架构的伸缩性(转载)

可伸缩性,简单来说,是以更大的规模来做你现在所做的事。伸展一个Web应用的规模在于让更多的人使用你的程序。如果你没法找出方法在伸展规模的同时提高性能,没关系。而且只要你可以伸展规模来处理更大数量的用户,那么有几个单点故障(single point of failure)也没关系。

如今我们在面对规模伸展的时候有两个选择:

  • 纵向的可伸缩性——在同一个逻辑单元内增加资源来提高处理能力。这样的例子包括在现有服务器上增加CPU,或者在现有的RAID/SAN存储中增加硬盘来提高存储量。
  • 横向的可伸缩性——增加更多逻辑单元的资源,并令它们像是一个单元一样工作。大多数集群方案、分布式文件系统、负载平衡都是在帮助你提高横向的可伸缩性。

最后建议应该考虑所有的层次才能解决可伸缩性问题:

对于一个成功的Web应用,所有的层次都要同样能够应付规模的增长。包括存储层(集群文件系统、S3等)、数据库层(分区、联合)、应用层(memcached、scaleout、terracota、tomcat clustering等等)、Web层、负载平衡、防火墙等等。比如,如果你没办法实现多个负载平衡控制器来处理未来的网络流量,不管你在Web层的横向伸缩性上扔下多少钱,都不会有什么效果。你的流量始终被限制在一个负载平衡控制器能够承受的程度。

时间: 2024-10-12 21:28:26

架构的伸缩性(转载)的相关文章

大型网站技术架构——网站架构的伸缩性设计

首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力.在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力. 一.网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性: (2)横向分离:将不同的业务模块分离部署,实现系统的伸缩性: 1.2 单一功通过集群规模实现伸缩 使用服务器集群,即将相同服务

从友盟微社区看Android第三方SDK架构实践【转载】

从友盟微社区看Android第三方SDK架构实践[转载] “先写在前面吧,本来想通过链接来转载这篇文章,发现没找到有相关的按钮.上网查了一下,都说博客园没有这功能.我在博客园也有一段时间了,鼓励原创是必须的,不过适当的转载也算是一种将有价值的文章进行分享的方式,不知道以后会不会支持呢!” 原文链接:http://www.csdn.net/article/2015-05-08/2824648-micro-community 摘要:第三方SDK的开发需要考虑很多因素,比如稳定性.灵活性等,并且还要做

SQLServer内核架构剖析 (转载)

SQL Server内核架构剖析 (转载) 这篇文章在我电脑里好长时间了,今天不小心给翻出来了,觉得写得很不错,因此贴出来共享. 不得不承认的是,一个优秀的软件是一步一步脚踏实地积累起来的,众多优秀的程序员呕心沥血,他们已经不是在简单的写代码,而是在创作一门艺术. 和前面提到的暴雪公司的发展相比他们有一个相同之处,即:他们只做经典.不能说他们集中的全世界最优秀的程序员,而实际上他们集中的是全世界最好的思想,并且付诸实践. 成功不是靠急于求成,而是靠远见.祝Microsoft SQL Server

如何成为java架构师(转载)

链接:https://www.zhihu.com/question/29031276/answer/54631312 来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1:熟练使用各种框架,并知道实现原理(比如Spring, mybatis). 2: JVM虚拟机原理.调优,懂得JVM虚拟机能让你写出性能更好的代码. 3: 池技术,对象池,连接池,线程池 4:JAVA反射技术,写框架必备技术,但是有严重的性能问题,替代方案是JAVA字节码技术 5: nio,"直接内

Oracle Golden Gate体系架构详解(转载)

摘自ITEYE czmmiao  http://czmmiao.iteye.com/blog/1550877  GoldenGate简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步.Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统.

java分布式通信系统(J2EE分布式服务器架构)--(转载)

一.序言 近几个月一直从事一个分布式异步通信系统,今天就整理并blog一下. 这是一个全国性的通信平台,对性能,海量数据,容错性以及扩展性有非常高的要求,所以在系统的架构上就不能简单的采用集中式.简单的总结一下就是: 1.数据分布式存储 2.请求分布式调度 3.多结点分布式部署 4.双重备份,热切换 系统的核心无非就是网络架构,分布式算子和通信,要求如下: 分布式算子: 1.对于任意输入,输出均匀分布 2.输出结果数可控 通信: 1.高并发量 2.多线程 分布式算子我们选择的是sun公司的has

网站架构的伸缩性设计

回顾网站架构发展历程,网站架构发展史就是一部不断向网站添加服务器的历史,只要工程师能向网站的服务器集群中添加新的机器, 只要新添加的服务器能线性提高网站的整体服务处理能力,网站就无需为不断增长的用户和访问而焦虑. 一般来说网站的伸缩性设计可分为两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩. 前者是不同的服务器部署不同的服务,提供不同的功能:后者是集群内的多台服务器部署相同的服务,提供相同的功能. 1.不同功能进行物理分离实现伸缩 网站发展早期--通过增加服务器提高网站

SQL SERVER 2005/2008 中关于架构的理解(转载)

在一次的实际工作中碰到以下情况, 在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无 效.”.当带上了架构名称之后(如“cus.CustomEntry”),却又能查询到表中的数据了,但是查询语句是已经写死在了应用程序中的,如果要进 行更改,就有很大的工作量, 这是一件很郁闷的事情.于是想从数据库层面上解决此问题,在查询了大量的资料之后,对于SQL SERVER中的架构有所了 解,并解决以上问题. 下面来

阿里巴巴消息系统架构与变迁--转载

原文:http://www.infoq.com/cn/news/2014/03/interview-alibaba-wangjingyu 对于大型的互联网业务来说,消息系统是必不可少的基础服务. 子柳 在<淘宝技术这十年>中为大家展示了阿里消息系统架构的概貌,作为集团业务使用的核心基础服务,目前消息系统现在可以承受每天几百亿规模的请求,并在历年的双十一.双十二大促中承受住抗住了更加严峻的考验,消息系统背后的中间件团队还陆续开源了诸如MetaQ.RocketMQ等项目.近期,InfoQ 采访了阿