2台服务器,有可能同时修改同一个库中同一个表里的同一行数据。传输采用ADSL4M+VPN,用360测试之间的传输速度只有不到20KBps。请问如何解决?
曾经想过几种方案,但都有问题:
1)实时向一台服务器写数据,由于处理过程较多,发现速度太慢。
2)发布-订阅。2个数据库互相发布-订阅?一来数据量太大,二来也不能做到实时,而一旦不实时则数据就乱了。
3)触发器。一来不太会用,二来也不知道2边同时触发会如何?

解决方案 »

  1.   

    看来是网络不好,这限制你的同步效率,ADSL4M+VPN...数据量大
      

  2.   

    传输速度只有不到20KBps?这个速度实在是太慢了。
    检查服务器是不是有异常程序的运行!
      

  3.   

    之间的传输速度只有不到20KBps那你的同步复制的实时性不强
      

  4.   

    参看这个:http://blog.csdn.net/fstao/article/details/6281159
      

  5.   


    算下来的话,20kB/s,一行100B,20kB就是200行,其实数据量也不算大。
      

  6.   


    1)10M的话是不是浪费呢?如果只传单据的话,512k应该也够了吧?
    2)当然,如果实时同步1台server就够了。
      

  7.   


    的确奇怪。后来问了一下,两边的ADSL一边是2M一边是4M,但是ADSL的上行只有512K,所以瓶颈是这个512K。换算成Byte的话应该也有70kB/s,不知道为什么VPN之后用360的测速就只有20kB/s。VPN应该不受运营商的限制吧?路由器也不会限制VPN吧?
      

  8.   

    按你的方式理解:网络因素和进程阻塞都可能发生。速度太慢的原因是什么,需要搞清楚。如果是数据量太大,即使光纤做实时传输,也会导致locked。再者必须实时,这两者会矛盾,所以你只能选择其一。触发器就不建议想,您的情况,有害而无利。注:1、必须实时的传输大量数据,本身要求和成本较高。
        2、建议自定义接口程序,实现实时传输,但传输是(针对数据量较小的table)分批小量的。
        3、此方式对于大数据量的table的批量更新,放在DB服务器的闲时进行。