实例级数据同步
CKafka to CKafka 同步数据规则说明
CKafka 连接器 K2K 插件支持在控制台上进行实例之间的元数据,消息数据和消费位点同步,具体的规则说明如下:
同步元数据规则:分为初始化同步和定时同步。
初始化同步:如果任务启动,会查看 Topic 是否新建,如果没有,则尽可能保持和原来的配置一在下游初始化新建 Topic,然后启动任务;如果下游本身就存在对应的 Topic,则不会触发初始化同步。
定时同步:任务启动之后,会按一定时间周期性将上游的部分元数据配置同步到下游,同步周期:3分钟。
同步消息数据规则:将上游 CKafka 中存储的消息数据同步到下游 CKafka 对应的 Topic 中,如果开启了同步到相同分区,则消息会固定同步到下游对应的相同分区中(具体参数配置见下文详细说明)。
同步消费位点规则:将上游 CKafka 中存储的消息数据同步到下游 CKafka 对应 Topic 中,同时同步相关的消费组和消费组对该 Topic 所提交的 Offset 信息,注意该 Offset 是映射后的对应关系(具体参数配置见下文详细说明)。
同步数据功能示例如下:
仅同步元数据
同步元数据任务创建步骤示例如下:
支持同步的元数据
初始化同步支持的元数据 | 定时同步支持的元数据 |
分区数 副本数 retention.ms cleanup.policy min.insync.replicas unclean.leader.election.enable segment.ms retention.bytes max.message.bytes
消费组 | 分区数(存在特殊情况) retention.ms(存在特殊情况) cleanup.policy min.insync.replicas unclean.leader.election.enable segment.ms retention.bytes(存在特殊情况) max.message.bytes 消费组 |
说明:
定时同步暂不支持同步副本数。
定时同步存在如下两种特殊情况:
分区数只能单向增加不能减少,如果下游实例分区已经大于上游,则不会同步。
出于稳定性考虑,retention.ms 和 retention.bytes 这两项元数据,目标 Topic 即下游对应元数据值为-1时,才会同步,其他情况下这两项元数据均不会定时同步。
元数据未同步情况下系统设定的默认值
说明:
该配置上游不存在情况或者非法会使用默认值替代。
元数据 | 默认值 |
retention.ms | 604800000(7天) |
cleanup.policy | delete |
min.insync.replicas | 1 |
unclean.leader.election.enable | false |
segment.ms | 604800000 |
retention.bytes | 默认值取决于 Kafka 配置 |
max.message.bytes | 1048588 |
各版本交叉同步元数据的可支持情况
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
同步元数据和消息数据
同步元数据和消息数据任务创建步骤示例如下:
元数据
支持同步的元数据
初始化同步支持的元数据 | 定时同步支持的元数据 |
分区数 副本数 retention.ms cleanup.policy min.insync.replicas unclean.leader.election.enable segment.ms retention.bytes max.message.bytes
消费组 | 分区数(存在特殊情况) retention.ms(存在特殊情况) cleanup.policy min.insync.replicas unclean.leader.election.enable segment.ms retention.bytes(存在特殊情况) max.message.bytes 消费组 |
说明:
定时同步暂不支持同步副本数。
定时同步存在如下两种特殊情况:
分区数只能单向增加不能减少,如果下游实例分区已经大于上游,则不会同步。
出于稳定性考虑,retention.ms 和 retention.bytes 这两项元数据,目标 Topic 即下游对应元数据值为-1时,才会同步,其他情况下这两项元数据均不会定时同步。
元数据未同步情况下系统设定的默认值
说明:
该配置上游不存在情况或者非法会使用默认值替代。
元数据 | 默认值 |
retention.ms | 604800000(7天) |
cleanup.policy | delete |
min.insync.replicas | 1 |
unclean.leader.election.enable | false |
segment.ms | 604800000 |
retention.bytes | 默认值取决 Kafka 配置 |
max.message.bytes | 1048588 |
各版本交叉同步元数据的可支持情况
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
消息数据
各版本交叉同步消息数据的可支持情况
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
说明:
支持消息数据同步到相同分区
消息数据在同步时,下游如果没有同名 Topic,则创建完任务之后大概会有10分钟左右的延迟才会同步消息数据。
同步元数据、消息数据和消费位点
同步元数据、消息数据和消费位点任务创建步骤示例如下:
元数据
支持同步的元数据
初始化同步支持的元数据 | 定时同步支持的元数据 |
分区数 副本数 消费组 | 分区数 消费组 |
说明:
定时同步暂不支持同步副本数。
定时同步存在特殊情况:分区数只能单向增加不能减少,如果下游实例分区已经大于上游,则不会同步。
各版本交叉同步元数据的可支持情况
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
消息数据
各版本交叉同步消息数据的可支持情况
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
说明:
支持消息数据同步到相同分区
由于本功能会同步上游 Topic 的消费位点,即从最新消息开始消费,因此在下游不存在同名 Topic 时,任务自动创建下游 Topic 时将不会将上游Topic 中原有的消息数据同步过来,仅会同步新生产的消息。
消费位点
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 版本不支持 | 版本不支持 | 版本不支持 | 版本不支持 | 版本不支持 |
1.1.1 | 版本不支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 版本不支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 版本不支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 版本不支持 | 支持 | 支持 | 支持 | 支持 |
说明:
0.10.2.1 版本不支持同步消费位点,因此 K2K 同步 CKafka 实例时,上下游中若包含0.10.2.1版本,则不支持创建同步消费位点的任务。
同步实例与实例内的 Topic 可用性汇总
从最新位置开始消费
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
从最开始位置开始消费
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
从时间点位开始消费
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.4.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
2.8.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
3.2.3 | 支持 | 支持 | 支持 | 支持 | 支持 |
同步弹性 Topic 与实例内的 Topic 可用性汇总
从最新位置开始消费
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | / | / | / | / |
2.4.1 | 支持 | / | / | / | / |
2.8.1 | 支持 | / | / | / | / |
3.2.3 | 支持 | / | / | / | / |
从最开始位置开始消费
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | / | / | / | / |
2.4.1 | 支持 | / | / | / | / |
2.8.1 | 支持 | / | / | / | / |
3.2.3 | 支持 | / | / | / | / |
从时间点位开始消费
版本 | 0.10.2.1 | 1.1.1 | 2.4.1 | 2.8.1 | 3.2.3 |
0.10.2.1 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.1.1 | 支持 | / | / | / | / |
2.4.1 | 支持 | / | / | / | / |
2.8.1 | 支持 | / | / | / | / |
3.2.3 | 支持 | / | / | / | / |