kafka权威指南-第六章可靠的数据传递问答式学习

1.kafka从哪些方面保障了构建可靠的应用程序?

  1. kafka保证分区消息的顺序
  2. 只有当消息被写入分区的所有同步副本时(但不一定写入磁盘),才回被认为是已提交的。
  3. 只要还有一个副本是活跃的,那么已经提交的消息就不会丢失
  4. 消费者只能读取已经提交的消息。

2.除了基本的保障机制,还有其他的保障吗?

broker配置

  1. 复制系数
  2. 不完全的首领选举
  3. 最少同步副本

生产者

  1. 发送确认
  2. 重试参数

消费者

  1. group.id,
  2. auto.offset.set指定没有偏移量可提交时或者偏移量在broker不存在时消费者会做一些什么,
  3. enable.auto.commit 寄基于任务自动提交偏移量,
  4. auto.commit.interval.ms 配置自动提交偏移量的频度

3.如何验证系统的可靠性

  1. 配置验证。kafka提供了两个重要的工具用于验证配置:org.apache.kafka.tools包里的VerifiableProducer和VerifiableConsumer这两个类
  2. 应用程序验证,自己测试程序的逻辑。可以基于如下的故障条件做一些测试:1.客户端从服务器断开连接,首领选举,依次重启broker,依次重启消费者,依次重启生产者
  3. 生成环境监控可靠性,对生产者,最重要的两个可靠性指标是消息的error_rate和retry-rate

你可能感兴趣的:(大数据)