应用kafka的经验
- Kafka 部署注意事项?
- 启动用户,非root
- 安装目录权限:除了数据目录和日志目录是读写外,bin目录是可执行,其他目录应该只读
- 默认端口修改
- 只容许内网访问
- 集成监控和管理软件
- 开启认证
- Kafka 如何保证消息不丢失?
- 消息可靠发送
producer要注意配置ack的级别
acks=0 生产者只管发,不管服务器是什么响应
acks=1 只要集群首领节点收到消息,就认为成功
acks=all 所有follow都收到,才认为成功
- 可靠消费
consumer要注意offset如何提交。因为consumer一次拉取一批消息,如果在处理这一批消息中出错,offset提交方式不当会丢消息或重复消费。
要可靠消费,可以提交特定偏移量的map。
- 堆积时,如何而提高消费能力
consumer必须指定consumergroup id,否则没法增加消费者。
可能需要先增加topic的partition数量,再增加消费者的数量。
消费者数量不能大于topic的partition数量,否则有消费者收不到消息。
- 消息可靠发送
- Kafka 如何监控?
借助进程监控,zookeeper信息监控,监控生产者,消费者等。有开源组件 - Kafka 怎么判断一个Group 的消费者挂掉了
- 长时间offset偏移量不变,可以预警