美文网首页收藏
[kafka]kafka是什么

[kafka]kafka是什么

作者: AbstractCulture | 来源:发表于2021-12-22 19:48 被阅读0次

什么是kakfa?

先看官网是怎么描述的:

kafka

Apache Kafka 是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序。

在旧的版本里面,Kafka是基于Zookeeper建立的一个分布式消息系统,但最新版,zookeeper已经被淘汰了。

同时,Kafka最强大的优势便是高吞吐量、高性能、实时性、高可靠。

削峰填谷

在大型的高并发场景中,往往要对数据进行计算、分析,在一个大数据的系统中,从外部收集到的数据是很难实时响应的,这个时候需要一个系统先去承载这部分数据量,Kafka就可以充当一个消息系统的角色,并且由于这个中间层的存在,可以让应用之间的通信变的灵活,原则上是解耦的。

分布式

来看一个消息队列的对比表格:

特点 ActiceMQ RabbitMQ RocketMQ Kafka
单机吞吐量 万级 万级 10W级 10W级,吞吐量高。一般配合大数据系统进行实时数据计算、日志采集等
topic数量对吞吐量的影响 topic可以达到几百、几千个级别,吞吐量会有小幅度的下降 topic到达几百个后吞吐会明显下降
时效性 ms级 微妙级别,这是RabbitMQ的最大特点,延时最低 ms级 ms以内
可用性 非常高,适合大型分布式结构 非常高,kafka是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用
消息可靠性 有较低的概率丢失 经过参数配置,可以做到0丢失 经过参数配置,可以做到0丢失
核心特点 MQ领域的功能及其完备 基于erlang语言开发,并发强、性能好、延时低 阿里巴巴开源的MQ组件,支持分布式、高可用 功能较为简单,主要支持简单的MQ功能,在大数据领域的实时计算以及数据采集被大规模使用

Client

Topic

Topic是一个虚拟的概念,由1到N个Partitions组成.
类似于消息队列中的Queue.
比如说我们现在需要做一个计算积分的任务,那么就可以定义一个“积分”的主题,去进行消息传递

Producer

消息生产者,生产者负责向主题中发生消息

Consumer

消息消费者,消费者负责消费主题中的消息。在Kafka中,对点对点模型引入了消费组概念,即多个消费者实例共同消费一个TOPIC中的消息。这样可以增加消息消费的速率,一个进程或者一个线程都可以是一个消费者实例。

消费者之间可以协同消费那些失败的消息,比如A,B是一组,A无法消费,这个消息就会到达B,这个过程称为Rebalance.

Consumer Offset

每个消费者单独记录消息的位移,即消费后+N;

Server

Broker

Kafka的服务端被称为Broker服务进程,那么多个Kafka则组成一个集群,也就是多个Broker.
通常在生产环境中,不同的Broker部署在不同的机器中,来保证kafka集群的高可用,一旦有单节点出现故障,其他的Broker仍然可以提供服务

Replica

副本,kafka会把同一份数据拷贝到多个机器上,这些数据统一称为副本。在副本中,还区分LeaderFollower,顾名思义,Leader负责写入,Follower负责备份。但是这里跟普通的master和slave不同,kafka中的Follower是不提供对外服务的.

Partition

实际消息存储单位.分区解决了分布式系统中伸缩性的问题,如果一个Broker中的Topic接收了太多的消息,导致单台机器无法容纳了,那么就会造成故障。kafka的思想是,将topic进行分区,然后再结合副本分别保存在不同的节点上。这跟es中的分片也是异曲同工之妙。
分区从0开始编号.

Offset

位移,每条消息在分区中都有属于自己的位置,这就是位移,如果往分区中写入了10条,那么这些数据的顺序是0,1,2,3....在某些场景下,可以根据位移实现顺序性.

相关文章

  • Kafka 详解一 简介

    目录 Kafka 是什么 Kafka 核心组 Kafka 整体架构以及解析 Kafka数据处理步骤 Kafka名词...

  • kafka详解

    目录 Kafka 是什么 Kafka 核心组 Kafka 整体架构以及解析 Kafka数据处理步骤 Kafka名词...

  • Kafka学习笔记05()

    kafka flume事务kafka监控ISR 1、kafka是什么kafka 是基于发布/订阅模式的消息队列,主...

  • kafka cluster

    一、说明 二、kafka是什么 三、kafka作用 四、kafka结构和术语 五、kafka 集群搭建 5.1、环...

  • Kafka详解

    Kafka Kafka 概述 kafka是什么? 在流式计算中,kafka一般用来储存缓存数据,Storm通过消费...

  • guazi xiuche2021-06-25

    Kafka partition是什么概念 为什么kafka的传输效率非常高,原因是什么 零拷贝技术 Kafka如何...

  • kafka相关知识总结

    一、kafka基础知识 1、kafka是什么 2、kafka生产数据时的分组策略 3、kafka如何保证数据的完全...

  • 这可能是最详细的Kafka应用了

    Kafka kafka是什么?kafka仅仅是属于消息 中间件吗? kafka在设计之初的时候 开发人员们在除了消...

  • (二十一)大数据学习之kafka

    kafka 一、Kafka是什么:kafka一般用来缓存数据。 1.开源消息系统 2.最初是LinkedIn公司开...

  • 2019-10-09 kafka

    1、Kafka 的设计是什么样的呢? Kafka 将消息以 topic 为单位进行归纳 将向 Kafka topi...

网友评论

    本文标题:[kafka]kafka是什么

    本文链接:https://www.haomeiwen.com/subject/ryqcqrtx.html