zoukankan      html  css  js  c++  java
  • Kafka笔记6(数据传递的可靠性)

    Kafka保证分区消息的顺序,“先入先出”

    只有当消息被写入分区的所有副本时,才被认为已提交的

    只要有一个副本是活跃的,已提交的消息就不会丢失

    消费者只能读取已经提交的消息

    如果一个或多个副本在同步/非同步之间状态快速切换,说明集群内出现问题,通常是JAVA不恰当的垃圾回收配置导致的

    broker安全配置参数:

      复制系数:

        主题级别复制系数 replication.factor    

        broker级别复制系数: default.replication.factor 

      不完全的首领选举:

        unclean.leader.election=true  broker级别配置   允许不同步的副本成为首领,会面临丢失消息的风险

      最少同步副本:

        min.insync.replicas (主题和broker级别)

      

    发送确认:

    ack=0 容易丢失消息

    ack=1 也会存在丢失消息的问题

    ack=all 不会丢失消息,但是会降低吞吐量

    配置生产者重试参数:

      broker 返回 LEADER_NOT_AVAILABLE 是一个可重试错误

      broker返回 INVALID_CONFIG 是一个不可重试错误

      

    消费者的可靠性配置:

      group.id 

      auto.offset.reset 指定没有偏移量提交时或请求的偏移量在broker上不存在时,消费者会做什么

        =earliest  消费者会从分区开始位置读取数据

        =latest   消费者从分区末尾开始读取数据

      enable.auto.commit  消费者基于任务调度自动提交偏移量

      auto.commit.interval.ms   与上一个参数搭配使用,自动提交偏移量的频率

      

        

  • 相关阅读:
    mac下通过brew切换php版本
    大白话,讲编程之《ES6系列连载》汇总
    Mysql命令大全
    值得收藏的前端大牛博客
    web前端 —— 移动端知识的一些总结
    Linux 目录结构
    【WebSocket No.3】使用WebSocket协议来做服务器
    【WebSocket No.2】WebSocket和Socket实现聊天群发
    GroupBy分组的运用和linq左连接
    try、catch、finally详解,你不知道的异常处理
  • 原文地址:https://www.cnblogs.com/zy1234567/p/10342681.html
Copyright © 2011-2022 走看看