关键字:
KingbaseFlySync、KFS、同步程序、replicator、高可用、开机自启、重连重试、KUFL、冲突处理、错误处理、断点续传
1.功能介绍
KingbaseFlySync在实现增量数据实时同步的过程中, 高可用在其中扮演了关键的角色,KFS可以通过重连重试、KUFL健壮性、错误处理、冲突处理等高可用相关配置,自动、快速的跳过生产中可能遇到的异常,从而达到数据实时同步的最终目的。
2.产品能力
KingbaseFlySync高可用功能包括:开机自启、自动重连重试、KUFL健壮性、冲突处理、错误处理、重连重试和跳过异常事务(手动操作)。现在简要介绍如下:
2.1开机自启
KingbaseFlySync配置开机自启后,用户每次正常启动、重启服务器时,KFS服务将会自动重启。当服务器因断电、系统故障等不可控原因意外重启时,KingbaseFlySync可以自动运行,无需额外的人工干预,可以保证数据同步的实时性
2.2 自动重连重试
指当KingbaseFlySync运行发生异常时,KFS会在指定的时间段内,每隔一定的时间间隔,主动发起重连重试,直至KFS状态恢复正常,从而保证数据同步的实时性。
例如客户生产环境网络发生故障,此时读取数据库就会异常,KFS状态就会异常;在指定时间内(配置的重连重试时间范围内)网络恢复后,重连重试功能就会让KFS同步状态自动恢复。
2.3 KUFL健壮性
KUFL是KingbaseFlySync存放数据的载体,在KFS数据实时同步的流程中起着至关重要的作用:KFS源端解析的增量数据会存放到KUFL中;目标端从源端获取到待同步的数据后,会将相关数据也保存为KUFL;目标端入库时,是从KUFL中获取相关增量数据。同时KFS的断点续传等功能也依赖KUFL中保存的相关标记信息。所以KingbaseFlySync对KUFL的健壮性采取了多方面的保障措施,以保证KFS业务连续性和数据准确性
2.4 错误处理
KingbaseFlySync在目标端数据入库时,不可避免的会遇到各种入库异常场景(可能是技术人员误操作、软件缺陷等),这些异常可能会导致入库中断,进而影响源端和目标端的数据一致性。
针对此类场景,KingbaseFlySync提供了一种精细化配置错误处理策略的方案:针对DML入库异常,可以设置默认处理策略,也可以设置单表的错误处理策略;不同的表还可以根据错误类型设置不同的处理策略。
这样,KFS就能自动记录并跳过对应异常,确保业务的连续性。通过错误记录,相关技服人员可以采用相关策略(手动执行、比对修复等)来保证源端数据和目标端数据的一致性。
2.5 冲突处理
KingbaseFlySync涉及的双写同步场景中,不可避免的存在着双写造成的数据冲突,进而影响业务连续性和数据准确性。针对这一实际业务场景,KingbaseFlySync能够对目标端入库的冲突进行识别并根据配置完成冲突处理,从而保证实时同步业务的连续性和源端、目标端数据库数据的一致性
2.6 断点续传
KingbaseFlySync从源端数据库解析数据过程中,不可避免的会因为某些异常而停止解析(如服务器掉电、数据库异常、网络异常等)。针对这样的异常场景,KingbaseFlySync提供断点续传的功能,可以从特定断点处继续解析,从而保证KFS不重复解析数据、不漏解析数据,从而保证源端数据库和目标端数据库的数据一致性
2.7跳过异常事务
KingbaseFlySync replicator目标端在实际运行过程中,可能会遇到一些阻塞同步的异常,这些异常如果需要从根本上解决,通常需要花费大量时间,从而影响KFS的实时同步。针对此类场景,KingbaseFlySync提供了跳过异常事务的功能,可先快速恢复数据同步,然后再根据跳过事务中的实际异常情况,人工在目标端采用对应措施进行修复,从而保证数据的一致性。




