当前位置: 首页 > wzjs >正文

s浏览器seo包年优化平台

s浏览器,seo包年优化平台,中国建设人才服务信息网是不是正规网站,自己网站联系电话修改怎么做1.面试的问题 要点 至多一次、恰好一次数据一致性超时重试、幂等消息顺序消息挤压延时消息 1.1 kafaka 生产消息的过程。 在消息发送的过程中,涉及到了两个线程,一个是main 线程,一个是sender 线程。在main 线程中创建了一个双端队列 Reco…

1.面试的问题

  • 要点 至多一次、恰好一次
  • 数据一致性
  • 超时重试、幂等
  • 消息顺序
  • 消息挤压
  • 延时消息

1.1 kafaka 生产消息的过程。

在消息发送的过程中,涉及到了两个线程,一个是main 线程,一个是sender 线程。在main 线程中创建了一个双端队列 RecordAccumulator,main 线程将消息发送到 双端队列,sender 线程不断从双端队列读取 发送到 broker

1.2 消息队列的可靠性。

1.3 副本同步机制

leo: 定义:LEO 即日志末端偏移量,它表示每个副本日志中最后一条消息的下一个偏移量。
hw:高水位(HW,High Watermark)的确是 ISR(In - Sync Replicas,同步副本集合)中所有副本的最小日志末端偏移量(LEO,Log End Offset)
Kafka 的副本同步机制
Kafka 的副本同步机制是保障数据可靠性和高可用性的核心特性,下面从整体架构、同步流程、ISR 机制、相关参数等方面进行详细介绍。
整体架构

  • Kafka 中每个分区都有一个 Leader 副本和多个 Follower 副本。生产者和消费者只与 Leader 副本进行交互,Follower 副本负责从 Leader 副本同步数据。这样的设计使得 Kafka 可以在多个 Broker 上存储数据副本,提高数据的容错能力。
    同步流程
  1. 消息生产
    生产者将消息发送到 Kafka 集群时,会指定要发送到的主题和分区。Kafka 根据分区的 Leader 副本位置,将消息发送到对应的 Leader 副本所在的 Broker。
  2. Leader 副本接收消息
    Leader 副本接收到生产者发送的消息后,将消息写入本地日志,并更新自身的日志末端偏移量(LEO)。
  3. Follower 副本同步消息
    Follower 副本通过向 Leader 副本发送 Fetch 请求来同步消息。Fetch 请求中包含 Follower 副本当前的 LEO,Leader 副本根据该信息将新的消息发送给 Follower 副本。
    Follower 副本接收到消息后,将消息写入本地日志,并更新自身的 LEO。
  4. 高水位(HW)更新
    高水位(HW)是分区中所有副本都已经成功复制的消息的最大偏移量。Kafka 会根据 ISR(In - Sync Replicas,同步副本集合)中所有副本的 LEO 来更新 HW。具体来说,HW 是 ISR 中最小的 LEO。
    只有偏移量小于 HW 的消息才被认为是已经在所有同步副本中安全保存的,可以被消费者消费。
    ISR 机制
  5. ISR 定义
    ISR 是与 Leader 副本保持同步的一组副本集合。只有在 ISR 中的副本,才被认为是可靠的同步副本,能够参与 HW 的计算。
  6. ISR 动态维护
    Kafka 会定期检查 Follower 副本与 Leader 副本的同步情况,通过比较 LEO 的差距来判断 Follower 副本是否落后。如果 Follower 副本的 LEO 与 Leader 副本的 LEO 差距超过一定阈值(由 replica.lag.time.max.ms 参数控制),则该 Follower 副本会被从 ISR 中移除。
    当落后的 Follower 副本追上 Leader 副本后,它可以重新加入 ISR。
  7. ISR 的作用
    提高数据可靠性:只有 ISR 中的副本参与 HW 的计算,确保消费者只能读取到已经在多个副本中安全保存的消息。
    故障转移:当 Leader 副本出现故障时,Kafka 会从 ISR 中选举出新的 Leader 副本,保证数据的一致性和服务的连续性。
    相关参数
  8. acks 参数
    该参数用于控制生产者发送消息时的确认机制,影响副本同步策略。
    acks = 0:生产者发送消息后,不等待任何确认,相当于异步复制,性能最高但数据可靠性最低。
    acks = 1:生产者发送消息后,等待 Leader 副本确认,只要 Leader 副本写入成功就返回响应,性能和可靠性适中。
    acks = all 或 acks = -1:生产者发送消息后,等待所有 ISR 中的副本确认,相当于同步复制,数据可靠性最高但性能最低。
  9. min.insync.replicas 参数
    用于指定 ISR 中最少需要有多少个副本同步消息,才能认为消息写入成功。结合 acks = all 使用时,可以进一步增强数据的可靠性。如果 ISR 中的副本数量小于 min.insync.replicas,生产者发送消息时会收到写入失败的响应。
  10. replica.lag.time.max.ms 参数
    该参数定义了 Follower 副本与 Leader 副本之间允许的最大延迟时间。如果 Follower 副本在该时间内没有向 Leader 副本发送 Fetch 请求或者没有追上 Leader 副本的 LEO,则会被从 ISR 中移除。
    异常情况处理
  11. Leader 副本故障
    当 Leader 副本所在的 Broker 出现故障时,Kafka 会从 ISR 中选举出新的 Leader 副本。新的 Leader 副本会将 HW 作为新的起始偏移量,继续处理生产者和消费者的请求。
  12. Follower 副本故障
    如果某个 Follower 副本出现故障,它会被从 ISR 中移除。当该副本恢复正常后,会重新向 Leader 副本发送 Fetch 请求,追赶 Leader 副本的进度,当追上后可以重新加入 ISR。
    综上所述,Kafka 的副本同步机制通过 Leader - Follower 架构、ISR 机制和相关参数的配置,在保证数据可靠性和高可用性的同时,兼顾了性能和容错能力。

1.4 kafka 高性能、高吞吐原因

  • 磁盘顺序读写
    • 顺序读 会使用预读
    • 保证了消息的堆积 相比于内存。
  • 使用了零拷贝的技术
  • 分区分段 + 索引
    • 每个 分区 在磁盘上 按照segment 文件存储的。针对segment 建立.index的索引文件
  • 批量压缩 多条消息批量压缩传输,降低带宽
  • 批量读写

1.5 消息丢失的场景 解决方案

  1. ack=all,
  2. 配置 min.insync.replicas>1

1.6 消息可靠性的解决方案

消息发送

  • ack -1/all 、
  • unclean.leader.election.enable: false, 禁止选举 isr 以外的follower为leader
  • tries >1 重试次数
  • min.insync.replicas>1 同步副本数,没满足该之前,不提供 读写服务。
    综上所述,在 acks = all 且 min.insync.replicas = 3,副本总数为 5 个的情况下,至少 3 个处于 ISR 中的副本写入数据完成,Kafka 才会判定消息写入操作完成。

消费者

  • 手动提交 offset
  • broker 减少刷盘间隔
  • 事务消息

1.7 kafka reblance

  • 消费者分区策略
  1. range 范围分区 默认
  2. roundrobin 轮询
  3. sticky 策略 体现在 reblance 策略下。
  • 触发reblance 的时间
  1. 消费者组成员个数变化的时候。 有新的消费者加入、离开消费者组
  2. 订阅的topic 发生变化
  3. 订阅topic 的分区发生变化
  • coordinator 协调过程
  1. 消费者 找到消费者组中的 协调器
  2. 确定分区策略

system design interview 书

第八章 设计短链系统

kafka 笔记

尚硅谷-笔记

http://www.dtcms.com/wzjs/126828.html

相关文章:

  • 电商 网站建设文字深圳百度国际大厦
  • 网址提交百度详细描述如何进行搜索引擎的优化
  • 24小时二手表网站发稿软文公司
  • 推广链接生成seo中国是什么
  • 做关于网站的开题报告百度推广渠道户
  • 如何建设赌博网站新软件推广
  • 做三个月网站广告收入做品牌推广应该怎么做
  • 网站建设报价单公司运营策划营销
  • 分析网站统计对网络营销的价值优化加速
  • 海口网站建设好网站制作公司
  • 网站当前链接seo关键词分析
  • 湖南建筑信息网哪里有网站推广优化
  • 泰安网站建设招聘广告网站大全
  • 网站备案幕布怎么做简述seo和sem的区别
  • 惠州专业网站设计公司杭州seo网站建设
  • yellow片观看完整版seo接单
  • 外贸网站建设是做什么的台州seo网站排名优化
  • 网站建设制作设计营销 上海seo诊断网站
  • 校园网站建设简介阿里巴巴指数查询
  • 聊城网站制作公司营业推广的方式有哪些
  • 河南平台网站建设正规代运营公司排名
  • 北京建设网站制作温州企业网站排名优化
  • 贵阳58同城做网站公司有哪些大连百度推广公司
  • 网站建设技能描述百度下载安装到手机
  • 安徽建网站搜狗权重查询
  • 阿里云服务器网站备案长沙企业网站设计
  • 均安公司网站建设微信5000人接推广费用
  • 黄河道网站建设公司网站推广投放
  • 在线制作logo网站百度视频推广
  • 网站留言板怎么做phpsql百度一下全知道