2台服务器,有可能同时修改同一个库中同一个表里的同一行数据。传输采用ADSL4M+VPN,用360测试之间的传输速度只有不到20KBps。请问如何解决?
曾经想过几种方案,但都有问题:
1)实时向一台服务器写数据,由于处理过程较多,发现速度太慢。
2)发布-订阅。2个数据库互相发布-订阅?一来数据量太大,二来也不能做到实时,而一旦不实时则数据就乱了。
3)触发器。一来不太会用,二来也不知道2边同时触发会如何?
曾经想过几种方案,但都有问题:
1)实时向一台服务器写数据,由于处理过程较多,发现速度太慢。
2)发布-订阅。2个数据库互相发布-订阅?一来数据量太大,二来也不能做到实时,而一旦不实时则数据就乱了。
3)触发器。一来不太会用,二来也不知道2边同时触发会如何?
检查服务器是不是有异常程序的运行!
算下来的话,20kB/s,一行100B,20kB就是200行,其实数据量也不算大。
1)10M的话是不是浪费呢?如果只传单据的话,512k应该也够了吧?
2)当然,如果实时同步1台server就够了。
的确奇怪。后来问了一下,两边的ADSL一边是2M一边是4M,但是ADSL的上行只有512K,所以瓶颈是这个512K。换算成Byte的话应该也有70kB/s,不知道为什么VPN之后用360的测速就只有20kB/s。VPN应该不受运营商的限制吧?路由器也不会限制VPN吧?
2、建议自定义接口程序,实现实时传输,但传输是(针对数据量较小的table)分批小量的。
3、此方式对于大数据量的table的批量更新,放在DB服务器的闲时进行。