如何保证debezium的高可用性
保证kafka服务的高可用
debezium采集出来的每个表数据对应存放到kafka的1个topic中,每个source connector也会有一个记录ddl变化的history topic,所以要保证高可用的大前提是kafka 集群的高可用。
建议:kafka采用3节点搭建,3节点能保证挂点一个节点之后服务仍可用。
保证kafka-connect服务的高可用
kafka-connect服务承载了debezium的connector,要保证Kafka-connect服务的高可用 。
建议: kafka-connect采用三节点部署,且三个节点以distributed形式启动
bin/connect-distributed.sh -daemon config/connect-distributed.properties
保证表对应的topic的高可用
默认debezium source connector创建出来的topic是1个副本,这样如果正好是当前副本所在的节点挂掉的时候,虽然kafka是集群是高可用的,但是topic的数据却无法访问到了,所以要保证connector创建出来的topic副本数大于1,建议值为3
建议:可以调整broker参数
default.replication.factor=3
保