全部产品

通用迁移上云

更新时间:2019-03-29 16:48:50

消息队列的特点是,数据一旦被消费,则已经完成了使命,除了备份外,没有太大意义。

因此对于消息队列来说,如果想做集群迁移,只需要做到把旧的集群消费完毕即可,具体来说有以下几个步骤:

建立新集群,Topic 和 ConsumerGroup 预先备好;开启消费者以做好准备消费新集群的数据;把发送者的接入点(bootstrap servers)改成新集群的接入点;待旧集群的数据消费完之后,直接下掉即可。

图解如下:

1.备好新集群(建好Topic和ConsumerGroup)

准备新集群

2.开启新消费者

开启消费者

3.开启新的生产者,同时下掉旧的生产者

开启新生产者

4.过一段时间内,下掉旧的集群即可。

在这个过程中,Kafka 使用者需要做的事情是:

1.迁移Metadata(也即Topic和ConsumerGroup)

2.按照顺序修改生产者和消费者的配置重启。

由于生产者和消费者都是集群化的,一台一台操作,可以做到对上层业务无感知。