【kafka】概念-脚本命令使用

kafka

角色

broker

⽣产者创建消息。
该⻆⾊将消息发布到Kafka的topic中。broker接收到⽣产者发送的消息后,broker将该消息追加到当前⽤于追加
数据的 segment ⽂件中。

topic

每条发布到Kafka集群的消息都有⼀个类别,这个类别被称为Topic。
物理上不同Topic的消息分开存储。
主题就好⽐数据库的表,尤其是分库分表之后的逻辑表。

partition

  1. 主题可以被分为若⼲个分区,⼀个分区就是⼀个提交⽇志。
  2. 消息以追加的⽅式写⼊分区,然后以先⼊先出的顺序读取。
  3. ⽆法在整个主题范围内保证消息的顺序,但可以保证消息在单个分区内的顺序。
  4. Kafka 通过分区来实现数据冗余和伸缩性。
  5. 在需要严格保证消息的消费顺序的场景下,需要将partition数⽬设为1。

首领和副本

首领副本负责处理消息的读写请求
同步副本只负责消息的同步(和leader副本)

offset偏移量

生产者消费者读取消息的位置

kafka优势

  1. ⾼吞吐量:单机每秒处理⼏⼗上百万的消息量。即使存储了许多TB的消息,它也保持稳定的性能。
  2. ⾼性能:单节点⽀持上千个客户端,并保证零停机和零数据丢失。
  3. 持久化数据存储:将消息持久化到磁盘。通过将数据持久化到硬盘以及replication防⽌数据丢失。
  4. 零拷⻉
  5. 顺序读,顺序写
  6. 利⽤Linux的⻚缓存
  7. 分布式系统,易于向外扩展。所有的Producer、Broker和Consumer都会有多个,均为分布式的。⽆需停机
    即可扩展机器。多个Producer、Consumer可能是不同的应⽤。
  8. 可靠性 - Kafka是分布式,分区,复制和容错的。
  9. 客户端状态维护:消息被处理的状态是在Consumer端维护,⽽不是由server端维护。当失败时能⾃动平
    衡。
  10. ⽀持online和offline的场景。
  11. ⽀持多种客户端语⾔。Kafka⽀持Java、.NET、PHP、Python等多种语⾔。

使用场景

  • ⽇志收集:⼀个公司可以⽤Kafka可以收集各种服务的Log,通过Kafka以统⼀接⼝服务的⽅式开放给各种Consumer;
  • 消息系统:解耦⽣产者和消费者、缓存消息等;
  • ⽤户活动跟踪:Kafka经常被⽤来记录Web⽤户或者App⽤户的各种活动,如浏览⽹⻚、搜索、点击等活动,这些
    活动信息被各个服务器发布到Kafka的Topic中,然后消费者通过订阅这些Topic来做实时的监控分析,亦可保存到数据
    库;
  • 运营指标:Kafka也经常⽤来记录运营监控数据。包括收集各种分布式应⽤的数据,⽣产各种操作的集中反馈,⽐
    如报警和报告;
  • 流式处理:⽐如Spark Streaming和Storm。

核心概念

在这里插入图片描述

缩写解释

AR

分区中的所有副本统称为AR(Assigned Repllicas)。
AR=ISR+OSR

ISR

所有与leader副本保持⼀定程度同步的副本(包括Leader)组成ISR(In-Sync Replicas),ISR集合是AR集合中
的⼀个⼦集。消息会先发送到leader副本,然后follower副本才能从leader副本中拉取消息进⾏同步,同步期间内
follower副本相对于leader副本⽽⾔会有⼀定程度的滞后。前⾯所说的“⼀定程度”是指可以忍受的滞后范围,这个范围
可以通过参数进⾏配置。

OSR

与leader副本同步滞后过多的副本(不包括leader)副本,组成OSR(Out-Sync Relipcas)。在正常情况下,所有
的follower副本都应该与leader副本保持⼀定程度的同步,即AR=ISR,OSR集合为空。

HW

HW是High Watermak的缩写, 俗称⾼⽔位,它表示了⼀个特定消息的偏移量(offset),消费之只能拉取到这
个offset之前的消息。

LEO

LEO是Log End Offset的缩写,它表示了当前⽇志⽂件中下⼀条待写⼊消息的offset。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值