首页 > 编程知识 正文

设计公司架构及职责,响应式网站设计尺寸规范

时间:2023-05-06 14:56:21 阅读:107335 作者:1779

网站的可伸缩性是指不需要改变网站的软硬件设计,只需改变部署的服务数量就可以扩大或缩小网站的服务处理能力。

京东网(www.360buy.com)在2011年末的本次活动中,因大幅折扣导致大量购买者访问,导致网站服务无法使用,大部分用户提交订单后,页面上显示“服务”

is too busy当晚,京东网老板碧蓝黄蜂在微博上宣布,为了提高交易处理能力,购买了多台服务器,第二天继续促销一天。 结果,第二天用户提交订单后,页面继续如下

' Service is too busy'o显然京东网当时的系统伸缩能力较弱,特别是订单处理子系统几乎没有伸缩能力。

应对这些缺乏伸缩性、关键时刻掉链子的例子,是淘宝网2012年“双十一”行动,活动开始的第一部分,也就是1000万独立用户登陆网站,当天成功交易的订单总额为191亿虽然淘宝网和支付宝(Alipay )网站出现了一些问题,但系统总体可用,大部分交易都顺利完成。

大型网站“大型”在用户层面可以理解为大量用户和大量访问,例如在Facebook上有10亿多用户。 可以理解为功能方面功能庞杂,产品多。 例如,腾讯有1600多种产品; 在技术方面,可以理解为需要在网站上部署大量的服务器,以便像谷歌一样有大约100万台服务器。

曾经有人争论说,大型网站不是一开始就变成大型网站,而是从小型网站逐渐演变而来的,谷歌诞生时也只有一台服务器。 设计大型网站和大型软件系统与将小型网站逐渐演变为大型网站在技术上的做法完全不同。 前者如以往银行系统那样,从设计之初就决定了提供服务的用户数、要处理的交易数等系统的规模,购买大型计算机等昂贵的设备,将软件系统配置在其上,即成为大型系统网站一开始不能规划自己的规模,也不是有那么多钱开发大系统,到了某个阶段也不能重新制作系统,而是摸着石头过河,从廉价的PC服务器进化出自己的大系统

在这一渐进的演进过程中,最重要的技术手段是使用服务器群集,通过不断向群集添加服务器来增强整个群集的处理能力。 这就是网站系统的可伸缩架构,如果能够在技术上使加入集群的服务器数量和集群的处理能力成为线性关系的话,网站就会通过这种手段继续扩大自己的规模,从提供数十人服务的小网站中得到数十亿人的服务这个进化过程总体上是渐进的,总是“延伸”的。 也就是说,网站的规模和服务器的规模总是在扩大。 通常情况下,需要“缩水”的网站可能已经无法经营了。 但是,这个过程也可能会因为运营需求而产生脉冲,就像上面案例中提到的电子商务网站的活动一样。 在一段时间内,网站访问量和交易规模突然呈爆炸性增长,恢复正常状态。 在这种情况下,web站点的技术架构必须具有出色的可扩展性,在事件期间在服务器集群中追加服务器,为了满足用户的访问,从网络运营商那里借用网络带宽,在事件结束后,将这些

国内有很多传统企业接入“互联网”,将传统业务搬到互联网上,值得称赞

是我的事。 传统行业和互联网的结合将产生新的经济模式,改善人们的生活。 但遗憾的是,一些传统企业将自己的管理模式和经营理念照搬到互联网领域技术层面的表达上来,试图从一开始就建立起大规模的网站。

回顾网站体系结构的发展历史,网站体系结构的发展史就是不断为网站添加服务的历史。 如果工程师可以将新机器添加到网站的服务器群集中,新添加的服务器可以线性提高网站的整体服务处理能力,网站就不必为不断增加的用户和访问感到不安。

一般来说,网站的伸缩性设计分为两种,一种是根据功能进行物理分离伸缩,另一种是单一功能通过集群进行伸缩。 前者为每台服务器部署不同的服务,提供不同的功能后者为集群中的多台服务器部署相同的服务,提供相同的功能。

1物理隔离不同功能实现可扩展网站发展在通过增加初始——服务器提高网站处理能力时,新服务器总是会从现有服务器中分离一些功能和服务。 如图6.1所示。

每次分离,都会有更多的服务加入网站,使用新服务处理特定服务。 实际上,通过物理分离不同的网站功能来实现网站伸缩性的手段不仅可以在网站发展初期使用,也可以在网站发展的任何阶段使用。 具体分为以下两种情况。

分离部署纵向分离(分层后分离)业务处理流程上的不同部分,实现系统的可扩展性。

如图6.2所示。

横向分离(业务分割分离)分离引入不同的业务模块,实现系统的可伸缩性。

横向隔离的粒度可以非常小,也可以为每个重要页面部署和专门维护独立的服务,例如对EC网站非常重要的产品详细信息页面、商店页面和搜索列表页面。

2单一功能集群规模扩展不同功能可以通过分离部署不同功能实现一定程度的可扩展性,但随着站点访问量的增加,即使分离为最小粒度的独立部署,单一服务器也无法满足业务规模的要求。 因此,必须使用服务器群集。 这意味着将同一服务器部署到多台服务器上,组成一个整体集群对外提供服务。

牛上不了车的时候,请不要

去寻找一头更强壮的牛,而是用两头牛来 拉车。

以搜索服务器为例,如果一台服务器可以提供每秒1000次的请求服务,即QPS (Query Per Second )为1000o那么如果网站安静的白猫时每秒搜索访问量为10000,就需要部署 10台服务器构成一个集群。若以缓存服务器为例,如果每台服务器可缓存40GB数据, 那么要缓存100GB数据,就需要部署3台服务器构成一个集群。当然这些例子的计算都 是简化的,事实上,计算一个服务的集群规模,需要同时考虑其对可用性、性能的影响 及关联服务集群的影响。

具体来说,集群伸缩性又可分为应用服务器集群伸缩性和数据服务器集群伸缩性。这两种集群由于对数据状态管理的不同,技术实现也有非常大的区别。而数据服务器集 群也可分为缓存数据服务器集群和存储数据服务器集群,这两种集群的伸缩性设计也不 大相同。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。