所谓“多活”,其实有多种不同的定义。是需要各站点实时同步所有数据并提供相同的服务?还是应用分区,数据互相同步备份?如果是后者,其实对用户来讲和前者没有差别。比如我们上网银操作不在乎后台的Server是在北京还是上海,只要北京的server掉了,后台能自动用上海的server继续服务...
显示全部所谓“多活”,其实有多种不同的定义。是需要各站点实时同步所有数据并提供相同的服务?还是应用分区,数据互相同步备份?如果是后者,其实对用户来讲和前者没有差别。比如我们上网银操作不在乎后台的Server是在北京还是上海,只要北京的server掉了,后台能自动用上海的server继续服务,我们也感觉不到。
说到难点,归根结底是距离和光速限制。电信号每走来回100英里(还没算设备延迟),大概会延时1ms,而在数据库底层,io的延迟一般是ms级的(指顶级存储),现在的SSD盘会更快,大约0.1-0.4ms级别。也就是说,如果采用同步复制技术,超过100公里就会对顶级的应用系统(如银行核心)性能产生明显影响。所以2地3中心,通常远的站点是异步复制。
收起