问下,当一个node宕机后,存在此节点下的数据还会被消费吗
hi-wayne opened this issue · comments
wangwei commented
问下,当一个node宕机后,存在此节点下的数据还会被消费吗?
Ady Liu commented
某个node宕机后未消费完的消息是不会被消费的,除非宕机的node重新启动。新产生的数据由于不会被发送到宕机的node上(生产者捕捉到宕机信号,更新节点列表),因此对于新产生的数据没有问题。
要解决宕机节点的数据问题有三种方法:
- 重新启动节点
- 定时备份节点,一旦某个节点宕机,将数据在另一台新机器上部署(保持brokerid不变)
- 建立镜像复制(jafka内部支持一个集群镜像复制另一个集群,两个集群数据完成一致,需要客户端支持),参考 https://github.com/adyliu/jafka/blob/master/src/main/java/com/sohu/jafka/server/EmbeddedConsumer.java