大型网站架构体系的演变(下)

原创 2015年06月07日 12:13:01

接着上篇的继续


在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。

几乎主流的大中型互联网公司,都会有用到类似的架构,只是节点数不同而已。


还有一招用的比较多的,那就是动静分离。可以需要开发人员配合(把静态资源放独立站点下),也可以不需要开发人员配合(利用7层反向代理来处理,根据后缀名等信息来判断资源类型)。有了单独的静态文件服务器之后,存储也是个问题,也需要扩展。多台服务器的文件怎么保持一致,买不起共享存储怎么办?分布式文件系统也派上用场了。


还有一项目前国内外用的非常普遍的技术CDN加速。目前该领域竞争激烈,也已经比较便宜了。国内南北互联网问题比较严重,使用CDN可以有效解决这个问题。

CDN的基本原理并不复杂,可以理解为智能DNS+Squid反向代理缓存 ,然后需要有很多机房节点提供访问。



截止目前为止,都没有怎么去改动应用程序的架构,或者说通俗点,都不怎么需要大面积的修改代码。

如果上面那些手段都用光了,还是支撑不住怎么办?不停的加机器也不是办法啊?

随着业务越来越复杂,网站的功能越来越多,虽然部署层面是采用的集群,但是应用程序架构层面还是“集中式”的,这样会导致很多耦合,不便于开发、维护,而且容易“一荣俱损”。所以,通常会把网站拆分出不同的子站点来单独宿主。


应用都拆了,由于单个数据库的连接,QPS,TPS,I/O处理能力都非常有限,DB层面也可以去做垂直分库操作


拆分应用和DB之后,其实还是会有很多问题。不同的站点,里面可能会有相同逻辑和功能的代码。当然,对于一些基础的功能我们可以封装DLL或者Jar包去到处提供引用,但是这种强依赖也很容易造成一些问题(版本问题、依赖关系等处理起来非常麻烦)。这样,传说中的SOA的价值就得到体现了。


应用、服务之间还是会出现一些依赖问题,这时候,高吞吐量的解耦利器出现了




最后,还介绍一个大型互联网公司都用的绝技--分库分表。个人经验,不是业务发站和各方面非常迫切,不要轻易走这一步。

因为分库分表谁都会干,关键是拆完之后怎么办。目前,市面上还没有完全开源免费的方案,能让你一劳永逸地解决数据库拆分问题。


版权声明:本文为博主原创文章,未经博主允许不得转载。

大型网站架构体系的演变(上)

互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展,下篇则重点...
  • dinglang_2009
  • dinglang_2009
  • 2015年06月07日 11:28
  • 12979

知名互联网公司网站架构图

引言     近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天...
  • fenglibing
  • fenglibing
  • 2013年08月24日 15:41
  • 64166

大型互联网技术架构1-架构概述

上图坐标指向硅谷,最近开始研究互联网分布式架构,风口浪尖,高大上;特与极客朋友们分享,共勉。 互联网架构 近些年来,互联网的高速发展,大数据时代,Booming Years,我们作为技术极客,需要跟得...
  • ErixHao
  • ErixHao
  • 2016年06月19日 08:48
  • 4013

互联网主流技术框架有以下几点:

互联网主流技术框架有以下几点:  0、反向代理和web服务器集群架构  1、缓存框架memcache等  2、noSql  3、模板技术  4、ssi,互联网估计很少用hiberna...
  • kingmax54212008
  • kingmax54212008
  • 2015年11月09日 22:29
  • 1871

大型网站技术架构(三)--架构核心要素

大型网站技术架构(一)--大型网站架构演化 大型网站技术架构(二)--架构模式        所谓架构,一种通俗的说法就是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014年05月26日 08:35
  • 6747

大型网站技术架构(四)--网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014年05月29日 08:01
  • 8849

大型网站架构体系的演变(上)

互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展,下篇则重点...
  • dinglang_2009
  • dinglang_2009
  • 2015年06月07日 11:28
  • 12979

大型电商网站系统架构演变过程

一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的 扩展逐渐演变完善的,在这个过程中,开发模式、技术架...
  • u012388609
  • u012388609
  • 2017年02月27日 15:11
  • 2127

大型网站技术架构(四)--网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014年05月29日 08:01
  • 8849

大型网站架构体系的演变(下)

接着上篇的继续 在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。 几乎主流...
  • mbugatti
  • mbugatti
  • 2016年11月30日 13:59
  • 99
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大型网站架构体系的演变(下)
举报原因:
原因补充:

(最多只允许输入30个字)