新澳门萄京娱乐场官网_新萄京娱乐场
做最好的网站
您的位置:新澳门萄京娱乐场官网 > 互联网 > 打造百万级访问量网站应该作好哪些技术准备?

打造百万级访问量网站应该作好哪些技术准备?

2019-08-05 11:57

搭建一个网站从技术角度来看,并不难实现,然而当网站访问量逐渐增加,对于企业人员、使用带宽、硬件等方面是一个不小的挑战。

以淘宝网为例,简单了解一下大型电商的服务端架构是怎样的。如图所示最上面的就是安全体系系统,中间的就是业务运营系统,包含各个不同的业务服务,下面是一些共享服务,然后还有一些中间件,其中ECS就是云服务器,MQS是队列服务,OCS是缓存等等,右侧是一些支撑体系服务。

如果需要打造一个百万级访问量的网站,那更应该考虑清楚,提前做好各项技术的准备工作。前期基础工作做好了,往往在后期可以节省很多精力。

新澳门萄京娱乐场官网 1

新澳门萄京娱乐场官网 2

除图中所示之外还包含一些我们看不到的,比如高可用的体现。淘宝目前已经实现多机房容灾和异地机房单元化部署,为淘宝的业务也提供了稳定、高效和易于维护的基础架构支撑。

目前国内主流的开发语言有java、PHP、Python、.net等,相对来说,PHP入门和上手比较简单,完成速度快,能够迅速响应前期业务需要,java对于底层逻辑构建来说是非常重要的。

这是一个含金量非常高的架构,也是一个非常复杂而庞大的架构,当然这个架构不是一天两天演进成这样的,也不是一开始就设计并开发成这样的,对于初创公司而言,很难在初期就预估到未来流量千倍、万倍的网站架构会是怎样的状况,同时如果初期就设计成千万级并发的流量架构,也很难去支撑这个成本。

对于不同的业务需求,需要灵活根据需要来选择不同的语言,每个程序员都会选择自己最熟悉的语言进行开发,而开发程序最关键的共同点就是网站代码的质量,做到容易管理,否则对于网站开发维护来说都是一笔不小的成本。

因此一个大型服务系统,都是从小一步一步走过来的,在每个阶段找到对应该阶段网站架构所面临的问题,然后不断解决这些问题,在这个过程中,整个架构会一直演进,同时内含的代码也就会演进,大到架构、小到代码都是在不断演进和优化的。所以说高大上的项目技术架构和开发设计实现不是一蹴而就的,这是所谓的万丈高楼平地起。

新澳门萄京娱乐场官网 3

新澳门萄京娱乐场官网 4

小型网站往往是想到要增加什么内容,就直接新增功能或者页面,测试完毕,然后直接部署外网,没有什么版本管理和控制的概念。

从一个小网站说起,一般来说初始一台服务器就够了,文件服务器、数据库以及应用都部署在一台机器上。也就是俗称的 all in one 架构。

但是上了规模的网站都需要注意代码版本的控制和管理,比如使用svn等代码版本管理工具,方便开发人员协同处理,还方便查询历史记录,帮助优化工作流程。

新澳门萄京娱乐场官网 5

要根据业务的特点进行选择,比如关系型数据库难以应对密集的数据操作,需要考虑到使用非关系型数据库。在数据库结构设计时,要考虑清楚数据库是否要分区、分库,以应对不同的业务类型和快速上涨的数据增长量。

随着网站用户逐渐增多,访问量越来越大,硬盘、cpu、内存等开始吃紧,一台服务器难以支撑。看一下演进过程,我们将数据服务和应用服务进行分离,给应用服务器配置更好的cpu、内存等等,而给数据服务器配置更好、更快的大的硬盘,如图所示用了三台服务器进行部署,能提高一定的性能和可用性。

新澳门萄京娱乐场官网 6

新澳门萄京娱乐场官网 7

最开始的网站架构应用程序、数据库、文件都部署在一台服务器上。随着业务的扩展,一台服务器已经不能满足性能需求,应用程序、数据库、文件都部署在独立的服务器上。

随着访问的并发越来越高,为了降低接口的访问时间提高服务性能,继续对架构进行演进。

除了优化硬件以外,软件性能也需要进行优化。 大型网站系统中都会利用缓存技术改善系统的性能,缓存实现常见的方式是本地缓存、分布式缓存,也有通过使用CDN、反向代理来提供网站性能。

我们发现有很多业务数据不需要每次都从数据库中获取,于是我们使用了缓存,因为80%的业务访问都集中在20%的数据上,如果能将这部分数据缓存下来,性能就能提高很多,缓存又分两种,一种是Application中的本地缓存,还有远程缓存,远程缓存又分为远程的单机式缓存和分布式缓存(图所示的是分布式缓存集群)。

本文由新澳门萄京娱乐场官网发布于互联网,转载请注明出处:打造百万级访问量网站应该作好哪些技术准备?

关键词: