本人虽然开发一年多了,可是因为是小公司,总是没机会接触到高深的东西,最近看到说京东(360buy),淘宝(taobao)这些大型电商都要几百甚至上千台服务器其实我有些搞不明白要这么多服务器干什么,难道这几百上千台都有一个镜像数据库吗(类似于主从数据库)?
而且这些服务器是怎么分布的,是在一个机房里面,还是分布到不同的地区,我一直想不明白!

解决方案 »

  1.   

    http://baike.baidu.com/view/908354.htm
    http://cloud.csdn.net/a/20110429/296900.html
    因需求而来的吧。
      

  2.   

    举个常见的例子吧
    为什么家用P2P用得太狠机器就断流?因为有并发连接数的限制,不仅路由器(其实也可以视为一台简单的机器)有限制,电脑也有限制,这样就是说,一台机器并非无限制响应所有连接请求的服务器,顾名思义,就是设计和制作为了“服务”的,里面不会有什么游戏、图形设计等等程序的运行,内存、系统运算等等主要是面向“对外服务”的,所以其并发连接数要比家用电脑大很多,但也不就是说能无限制然后,连接数包括什么?最简单的计算就是,依据外部请求每读取一个文件都是一个连接,所以,显示一个网页,其实就已经有很多连接——html本身、附带的外部css、外部js、图片、flash……反正越丰富,连接就越多看一个静态网页,大致会同时产生10~15个连接,很多人一起请求,就倍数增加,上千人同时请求,低端服务器基本就达到并发连接数的极限了,当然,高端的服务器就强点如果上万人同时请求,网站只能接受一千人,其他九千个请求会被排队,但是排队是有时效的,包括服务器本身会把一直没能响应的超时请求扔掉,以腾空给新连接使用;另一方面,请求者的耐心也是有时效的,现在的人,等几秒不显示,不是刷新(刷新就是另一个请求过程),就是关闭……你做老板都不会这样吧?只做10%的人的生意?而且你要明白,在对九千人排队的时间内,可能已经有第二批、第三批……上万人的请求继续来临,这时候不宕机已经是万幸了所以众多服务器的作用就是两个字——分流
      

  3.   

    数据分流处理 和 服务器正常工作 应该是最主要的吧!
    分流请看楼上·!
    LZ是小公司必然碰到过DNS解析爆掉的问题~!~要等2个小时,老美那边重新处理,网站才能恢复运作~!
    多服务器也保证了网站的无间断运营,小弟所在的公司只有一台服务器,有时候碰到DNS爆掉的问题,非常恼火,像新浪搜狐网易这样的大站如果十分钟登不上都会造成非常大的影响的·!
      

  4.   

    那我继续提问,服务器是怎么分布的,是在一个机房里面,还是分布到不同的地区。还有当有一个客户访问网站的时候,是随机去访问其中的一台服务器呢,还是说根据地区,带宽网络去访问相应的服务器!具体是怎么判断的,原理是什么?希望能得到满意回答?谢谢了!希望上面的几位大哥(snmr_com)也能继续帮忙回答一下
      

  5.   

    实例:google明显就是根据地区——来访者IP判断然后引导到相应的服务器还有其他方法,但原则是负载平衡
    譬如你的来访者地区分布单一(就是说这个分布不平衡了),但各种浏览器访问量都差不多(这个比较平衡)
    就按浏览器来判断做判断引导
    当然判断的方法越简单越好,避免迟缓或者加重入口服务器的负担详细应用请搜索“单一入口 服务器分流”的相关文章我只知道皮毛,再说下去就露馅了,呵呵
      

  6.   

    CDN服务器,目的很简单,更快的访问.可以查看百科么,有问题问百度.http://baike.baidu.com/view/21895.htm
      

  7.   

    不太了解Hadoop,我听说百度每天数据量是TB级的,一台服务器撑不了,再者,除了数据库集群应该还有分布式计算…纯属瞎掰,我也不太清楚…
      

  8.   

    再举个例子,像掏包这样的网站已经牛13到自主研发文件系统了,更不要说google那样的顶级网站,操作系统、数据库都是自己研发。。另外,去年初就听说百毒已经把存储子系统全都更新为SSD了。。
      

  9.   

    我个人理解是:
          网页代码,前端HTML,JS,图片,后台等,这些的数据分流都归于负载平衡,而数据库的压力缓解归于数据库集群,假设有2台服务器,那么一台就可以专门负责代码部分,另一台做为数据库处理。尤其是数据库访问量大的情况,单独设置一台,如果有3台的话,可以考虑把图片,FLASH这种资源类的东西整合到单独的一台服务器,效率会跟好!目前稍微大一些的站点,不是指一线新浪这种的,指一些中型技术论坛,交友网等,应该都是这么做的,服务器选择的是UNIX类的,他们的服务器软件一般用apache(代码部分)/nginx(图片部分)。当然也可以考虑。NET/WIN2003/IIS。一般是这样的。更大的那就更复杂了。短短几万个字也未必说得完。
      

  10.   

        IIS里,我不知道怎么做的,如果是APACHE这个软件本身就提供了负载平衡的功能,当然也可以另用其他软件来代替,而服务器集群,MYSQL本身就有对应的版本!
      

  11.   

    关于负载均衡,给你一文章吧,希望对你有帮助http://www.4oa.com/Article/html/15/96/2008/244969.html
      

  12.   

    有没有那位大哥说一下负载均衡主要靠软件还是硬件,据说apache就有带这种功能,是不是真的
      

  13.   

    有硬件也有软件,当然那些负载均衡的硬件服务器里面实现应该还是通过软件的,不光apache有,还有很多有这样功能的服务软件,nginx很强大的负载均衡