线上 kafka 单机版平滑迁移集群版实战

为什么要迁移?

  • 业务早期单机版完全能够满足业务,但是随着业务的发展单机版已经无法满足
  • 无法实现无损磁盘扩容,只能停机扩容,这显然是不能接受的
  • kafka 服务无法实现弹性扩缩容,没办法实现高可用和高可扩展,反应到业务上业务猛增和流量高峰期 kafka 都会成为一个隐患

迁移方案

梳理所有 topic

要进行 kafka 迁移,显然从 topic 出发是最合理的,梳理出所有 topic 并确定每个 topic 生产者、消费者

  • 如下所示,这是我们生产部分 topic,可以看到把每个 topic 对应的环境、负责人、状态、生产者、消费者、分区数全部都梳理清楚了
    在这里插入图片描述

kafka 集群创建 topic 并指定分区

注意:迁移的同时可以对 topic 重新评估设置多少分区比较合理

保留老消费者服务,同时启动所有 topic kafka 集群的消费者

注意:老消费不能马上下线,否则单机版 kafka 会存在消息没有消费完的情况,从而影响业务

生产者服务 kafka 连接地址改为 kafka 连接地址,并发布

这样相当于实现了新的生产者上线,老的生产者平滑下线

检查 kafka 单机版所有 topic 中消息是否全部消费完,是则下线所有老消费者

注意:也可以采用逐个检查 topic ,然后逐个下线老消费者服务

kafka 监控调整

  • 下线 kafka 单机版监控
  • 上线 kafka 集群版监控

总结

  • 对于线上基础组件的升级一定要充满敬畏,时刻保持警惕,否则可能会对线上带来灾难性的影响
  • 无论做什么技术升级,一定要先确定方案,只有方案足够清晰才能保证高效、高质量的完成任务
  • 切记拿到一个任务不经过思考,就想急着动手,这是我们团队很多新同学都存在的问题,这样不但不能高效完成任务,还会因为方案没有想清楚导致不断返工,甚至带来严重的故障
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值