zoukankan      html  css  js  c++  java
  • 网站、数据库的衍变之路(四)

    话接前文《网站、数据库的衍变之路(三) 》。上回说到该增加服务器了,那要增加多少服务器,增加了服务器网站怎么部署呢?最简单的办法当然是拆分应用。

    一、分离应用

    图1

    如图1所示,把应用拆分开来,根据压力放置到不同的服务器上,数据库也同样如此。访问的时候,设置不同的子域名来访问。图片应该被独立出来。

    通过这种方式,用户访问的时候将会分流到不同的服务器上。这样的好处是显而易见的,网站能承受的压力的显著增强了。缺点是不得不对程序进行重新开发。

    二、多个副本


    图2

    如图2所示,使用负载均衡,把压力分担到不同的服务器上。这种方式不需要对程序进行改造。由于压力还不是十分巨大,直接用windows自带的负载均衡就能显示目的了。

    至于某些局部问题,那可以用缓存的方式来解决。而数据库对压力的处理则可以分为3种方式。

    1.分库分表
    原理和网站的分离应用差不多,把各个应用相关的部分拆分开来,放到不同的数据库服务器。

    2.分布式计算
    把数据库挂接起来,应用也是要拆分的,但是访问的时候只需要访问主数据库,其它数据库就成了黑箱,不需要了解其它数据库的细节。

    3.分发
    原理上和网站的多个副本同样的原理,把数据也分发成多个副本,分别对不同的副本进行访问。这样的缺点是数据会不同步,需要等一段时间才能实现数据库服务器数据间的同步。

    访问量再加大,就需要购买专业的设备,或者开发的复杂的应用来解决问题了。比如bigtable,mapreduce,f5等等。没接触过那些东西,就不再讲下去了。这系列文章是对这几年工作的一个总结,同时希望能对你有所帮助。要是有更好的方法,还希望能赐教,呵呵。

  • 相关阅读:
    [TJOI2013]单词 AC 自动机
    NOIP 2017 逛公园 记忆化搜索 最短路 好题
    [BJWC2012]冻结 分层图最短路
    dijkstra STL 堆优化
    [POI2002][HAOI2007]反素数 数论 搜索 好题
    bzoj 2456: mode 思维题 好题
    [SDOI2012]Longge的问题 欧拉反演_欧拉函数
    [JLOI2011]飞行路线 分层图最短路
    页面加速优化
    制作html5微信页面的经验总结。
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1540385.html
Copyright © 2011-2022 走看看