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

通用迁移方案

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

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

图解如下:

  1. 备好新集群(建好 Topic 和 ConsumerGroup)dg_data_migration_1
  2. 开启新消费者dg_data_migration_2
  3. 开启新的生产者,同时下掉旧的生产者dg_data_migration_3
  4. 过一段时间内,下掉旧的集群即可。
在这个过程中,您需要做的事情是:
  1. 迁移 Metadata(即 Topic 和 ConsumerGroup)
  2. 按照顺序修改生产者和消费者的配置重启。

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

迁移优势

迁移至消息队列 Kafka 版的优势,详情请参见产品优势

更多信息

详细迁移步骤请参见在线迁移最佳实践