如何保证消息队列的高可用?
•回答自己熟悉的消息队列, 如Kafka.
Kafka是一个分布式的消息队列, 一个topic有多个partition, 每个partition分布在不同的节点上....分区重平衡
消费者重启或宕机
这两个原因都会导致消费者在消费消息后没有提交offset.
(2) 解决办法
这个问题只能通过业务手段来解决, 比如我们在消费前先查询数据库, 判断是否已消费(status...= 1), 或消费后在Redis中做个记录, 下次消费前先从Redis中判断是否已消费....消费者还没消费就提交了offset, 然后消费者重启或宕机, 分区重平衡.
(2) 解决办法
配置partition副本机制....Kafka为什么速度那么快?
我们都知道Kafka的核心特性之一就是高吞吐率, 但Kafka的数据是存储在磁盘上的, 一般认为在磁盘上读写数据性能很低, 那Kafka是如何做到高吞吐率的呢?