请教各位大侠: 
    目前单位的一个大型网站,在网络架构上遇到了问题:     电信、网通、数据库服务器都放在同一个机房,整体上性能没有什么问题,每天几十万 PV, 服务器负荷较小,还有比较大的空闲空间。     但由于全国各地的区域问题,经常有很多地区的访问受电信或网通的总出口带宽影响而网速十分缓慢,此时其他大部分地区的访问却很正常。     分析了一些同行的站点,他们都很好地解决了这个问题: 
    电信线路分别在广东、上海、北京、陕西等放置服务器,网通也一样,域名则通过 DNS 智能解析,在根据电信网通区分的基础上,加上区域的区分,实现就近访问的原则。     Web 服务器这样放置是没有问题的。但我不懂数据库该怎么办:     1、集中式数据库。  各地的 Web 服务器都访问同一个地方的数据库? 好像通讯速度不一定能保证。难道要通过很多的专用线路访问数据库?那成本好像接受不了。 
    2、实时同步。      由于是电子商务网站,有实时交易。各地的数据库都有可能发生交易,怎么实时同步到其他机房的数据库呢。 
    3、发布订阅。      交易时都访问集中的同一套数据库。其他各地的数据库定时同步更新,好像也不好解决。     我要的似乎是这样: 
    各地的数据库看起来是分散的,而用起来需要在逻辑上是一个整体。 
    请各位大侠支招,万分谢谢。 :)

解决方案 »

  1.   

    你这个需求是网络问题,跟数据库关系不大个人感觉最简单的方法是,优化一下目前你机房的线路,做网通电信双线接入,再就好像你说的那样做智能dns基本就ok了
      

  2.   

    2个问题:
    1、解决isp间的访问速度慢,可以在一个机房,接入多个isp的网线,这样,数据库服务器都还是一个
    2、解决地区间的访问速度慢,只能在各个机房各放一个服务器了,这样,才会遇到各地的数据库服务器如何同步的问题后者需要看对数据滞后时间的容忍程度决定不同的同步方式
      

  3.   

    数据量小时发布订阅还不错,对于大型网站我觉得不大好。LZ的关于交易统一处理,其他数据定时同步时可以考虑的。建议做数据库集群,通过HA等软件实现高可用性。不过LZ只有几十万PV流量的网站没必要搞那么复杂,有个双线机房 + DNS只能解析足够了。
      

  4.   

    to sp4:
        你好,目前是几十万 PV, 但公司有规划,未来可能会很快增长的。 所以要做好网络架构工作。谢谢!
      

  5.   

    等PV过500W再考虑也不迟。实在要做,就做数据库服务器的集群并负载均衡通过HA等软件实现数据及时同步,这些第三方的软件比SQL自带的高可用性好的多
      

  6.   

    to SP4:    高可用与集群是数据库性能方面的问题啊,我的问题是:    很多异地机房的服务器:
        1、怎样可靠、高效地连接一个地方的数据库的问题。
        2、如果这样不可取,不同地方的及时同步怎么处理的问题。
        谢谢。
      

  7.   

    经过查阅很多资料,并找一些同行的人了解,
    初步决定用 DDN 专线连接到集中式的数据库。DDN 2M 的专线,7000/月左右。价格可以跟公司申请,
    但就是不知道性能如何。大量的对数据库的及时访问,2M 专线应该问题不大吧。 请有经验的大侠指点下。谢谢。
      

  8.   

    同是电信电路或者同是网通线路,南方某机房服务器通过 DDN、帧中继等访问北方某机房的数据库, 
    100万左右 PV, 大家认为需要多大带宽的 DDN 或者 帧中继? 请有实际经验的朋友指点下,谢谢。 
    DDN 最高 2M, 帧中继可以据说可以达到 10M、34M。
      

  9.   

    如果能使用7000元/月的DDN,自然是好了帧中继是线路复用,能这么高?记得都是100K的。。
    也许现在是光纤了?
      

  10.   

    访问我的博客 程序员日记 http://www.ideaext.com
      

  11.   

        很多异地机房的服务器: 
        1、怎样可靠、高效地连接一个地方的数据库的问题。 
           这个就需要网络条件够好,双线优质带宽的机房
           为了避免出现问题,有数据库的镜像,这些是必须的,当然小网站不必要。这个就需要个磁盘阵列,HA软件来实现,个人不推荐SQL自己带的HA
     
        2、如果这样不可取,不同地方的及时同步怎么处理的问题。 
           至于同步问题 就要看数据的重要,实时程度要求,首先完全实时同步除了分布式事务(这个基本不考虑),就根本没有完全的解决办法。
           只能根据需要设计同步的设置。