`

kafka入门

 
阅读更多
kafka

Kafka是一种分布式,基于发布/订阅的消息系统。
高吞吐量:每秒可处理几十万条记录
分布式:支持热扩展
持久化:消息持久化到磁盘
容错:副本容错
高并发:客户端同时高并发读写

使用背景:
峰值处理能力
统一接口服务
解耦


消息系统介绍:
一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。
分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。
有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。
大部分的消息系统选用发布-订阅模式。Kafka就是一种发布-订阅模式。

点对点模式:
在点对点消息系统中,消息持久化到一个队列中。此时,将有一个或多个消费者消费队列中的数据。
但是一条消息只能被消费一次。当一个消费者消费了队列中的某条数据之后,该条数据则从消息队列中删除。
该模式即使有多个消费者同时消费数据,也能保证数据处理的顺序。

发布-订阅模式:
在发布-订阅消息系统中,消息被持久化到一个topic中。与点对点消息系统不同的是,
消费者可以订阅一个或多个topic,消费者可以消费该topic中所有的数据,同一条数据可以被多个消费者消费,
数据被消费后不会立马删除。在发布-订阅消息系统中,消息的生产者称为发布者,消费者称为订阅者.
发布者发送到topic的消息,只有订阅了topic的订阅者才会收到消息。



kafka-基本概念
生产者(Producer):负责发布消息到Kafka broker
消费者(Consumer):从消息队列中请求消息的客户端应用程序
代理(Borker): kafka集群包含一个或多个服务器,这种服务器被称为broker,准确来讲是一个kafka的服务进程。
生产者推送消息到broker上,消费组从broker上消费消息。


Topic
在实际业务中,通常一个业务对应一个topic
kafka使用topic来组织消息
一个topic消息可以包含多个partition,分布在不同的broker上
一个partition可以指定多个副本
生产消息、订阅消息都需要制定topic

Partition(分区)
一个topic按照多个分区组织消息
增加partition数量,可以提升读写并发
一个partition对应的物理文件:log文件和index文件,每个log文件又被称为segment,索引文件分为offset索引文件
和时间戳索引文件
一个partition可以指定多个副本,但是只有一个副本是leader
partition的读写只能通过leader
segment(log文件)文件名规范:这个文件里面第一条消息的offset-1

 

分享到:
评论

相关推荐

    Kafka入门、介绍、使用及部署

    ### Kafka入门、介绍、使用及部署 #### 一、Kafka简介 Kafka是由LinkedIn于2010年12月开源的一款强大的消息系统,它主要用于处理活跃的流式数据,如网站的PV(页面浏览量)、用户行为数据等。传统日志分析系统虽然...

    Apache Kafka入门介绍.zip

    **Apache Kafka 入门介绍** Apache Kafka 是一个分布式流处理平台,由 LinkedIn 开发并贡献给了 Apache 软件基金会。Kafka 设计用于构建实时数据管道和流应用,能够高效地处理大量实时数据。它结合了消息队列和日志...

    大数据Kafka入门--理论+实践

    在大数据Kafka入门中,首先要了解的理论知识包括了Kafka的基本概念和架构设计。Kafka作为一个分布式的消息系统,其核心组件包括了Producer(生产者)、Consumer(消费者)、Broker(节点)和Topic(主题)。生产者...

    kafka入门必备手册

    下面将详细介绍Kafka入门的相关知识点。 **Kafka简介** Kafka是一个分布式流处理平台,它的核心功能是消息队列系统,用于处理大量实时数据的发布和订阅。它被设计为在分布式环境中运行,可以处理高并发的读写请求,...

    kafka入门到精通.txt

    ### Kafka入门到精通知识点概述 #### 一、Kafka简介 Kafka是由Apache软件基金会开发的一款开源流处理平台,主要用于构建实时数据管道以及基于流的数据处理应用。它以极高的吞吐量、低延迟和可扩展性而著称,被广泛...

    Kafka 入门基础篇.pptx

    Kafka 入门基础篇 Kafka 是 LinkedIn 公司开发的一种分布式消息队列系统,支持离线和在线日志处理。它可以实时处理大量数据,满足各种需求场景,如基于 Hadoop 的批处理系统、低延迟的实时系统、Storm/Spark 流式...

    kafka入门简介.docx

    ### Kafka入门简介 #### 一、Kafka概述 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。它是一个高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据,如网页...

    21.消息中间件之Kafka入门讲解

    **Kafka入门详解** Kafka是一款高性能、分布式的消息中间件,最初由LinkedIn开发,后成为Apache顶级项目。它主要用于处理实时数据流,提供高吞吐量的发布订阅服务,同时也支持离线数据处理。在本篇文章中,我们将...

    21.消息中间件之Kafka入门讲解(更新)

    **Kafka入门详解** Kafka是一款高性能的消息中间件,由LinkedIn开发并开源,现在是Apache软件基金会的顶级项目。它最初设计的目标是处理实时的流数据,但随着时间的发展,Kafka已经成为广泛应用于日志收集、监控...

    Kafka入门教程与详解

    Kafka入门教程与详解 Kafka是分布式发布-订阅消息系统,由 LinkedIn 公司开发,使用 Scala 语言编写,后成为 Apache 项目的一部分。Kafka 集群中没有“中心主节点”的概念,集群中所有的服务器都是对等的,因此,...

    kafka入门学习资料

    大数据组件-kafka入门学习,通过该部分学习,可以了解掌握kafka的基本常识

    kafka入门资料

    ### Kafka入门知识点详解 #### 一、概述与系统环境 Kafka是一款强大的分布式消息系统,主要应用于实时数据处理场景。其高效的数据传输能力和高吞吐量特性使其在大数据领域受到广泛青睐。 - **系统环境**:本文档...

    读书笔记:kafka入门与实践.zip

    读书笔记:kafka入门与实践

    读书笔记:kafka入门与实践代码实现.zip

    读书笔记:kafka入门与实践代码实现

    Kafka技术内幕-图文详解Kafka源码设计与实现

    Kafka自LinkedIn开源以来就以高性能、高吞吐量、分布式的特性著称,本书以0.10版本的源码为基础,深入分析了Kafka的设计与实现,包括生产者和消费者的消息处理流程,新旧消费者不同的设计方式,存储层的实现,协调者...

    kafka入门demo

    Kafka入门Demo主要介绍了Apache Kafka的基本概念、工作原理以及如何进行简单操作,是初学者了解和使用Kafka的一个基础教程。Kafka是一个分布式流处理平台,由LinkedIn开发并开源,后来成为了Apache软件基金会的顶级...

    Kafka入门.pdf

    搭建单节点的Kafka环境涉及几个步骤,首先需要搭建单节点的ZooKeeper,因为Kafka的运行依赖于ZooKeeper的协调功能。搭建ZooKeeper后,需要下载并解压Apache Kafka的二进制包。Kafka的配置和启动步骤会在相关文档中...

    Kafka技术内幕图文详解源码设计与实现

    Kafka自LinkedIn开源以来就以高性能、高吞吐量、分布式的特性著称,本书以0.10版本的源码为基础,深入分析了Kafka的设计与实现,包括生产者和消费者的消息处理流程,新旧消费者不同的设计方式,存储层的实现,协调者...

Global site tag (gtag.js) - Google Analytics