kafka专题

-------------------Kafka---------------------

一、Kafka是什么

kafka一般用来缓存数据。

1、开源消息系统

2、最初是LinkedIn公司开发,2011年开源。2012年10月从Apache Incubator毕业。
项目目标是为处理实时数据,提供一个统一、高通量、低等待的平台。

3、Kafka是一个分布式消息队列。
消息根据Topic来归类,发送消息 Producer,接收 Consumer。
kafka集群有多个kafka实例组成,每个实例成为broker

4、无论是kafka集群,还是 producer consumer 都依赖于 zookeeper 集群保存元信息,来保证系统可用性。

二、消息队列
点对点
发布、订阅模式

三、为什么需要消息队列

1、解耦

2、冗余
消息队列把数据进行持久化,直到他们已经被完全处理。

3、扩展性

4、灵活性

5、可恢复性

6、顺序保证(相对)
kafka保证一个Partition内部的消息有序。

7、缓冲

8、异步通信
很多时候,用户不想也不需要立即处理消息。
消息队列提供异步处理机制,允许用户把消息放入队列,但不立即处理。

四、Kafka架构

1、Producer 消息生产者,就是往kafka中发消息的客户端

2、consumer:消息消费者,向kafka broker中取消息的客户端。

3、topic 理解为队列。

4、Consumer Group 消费者组

组内有多个消费者实例,共享一个公共的ID,即groupID。
组内所有消费者协调在一起,消费topic。
每个分区,只能有同一个消费组内的一个consumer消费。

5、broker
一台kafka服务器就是一个broker

6、partition:一个topic分为多个partition
每个partition是一个有序队列。
kafka保证按一个partition中的顺序将消息发送个consumer。
不能保证topic整体有序

7、offset:Kafka存储文件按照offset.kafka命名。

原文地址:https://www.cnblogs.com/jareny/p/10799799.html

时间: 2024-11-03 01:03:37

kafka专题的相关文章

kafka专题-1

大数据技术之Kafka一 Kafka概述 1.1 Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. 2)Kafka最初是由LinkedIn公司开发,并于2011年初开源.2012年10月从Apache Incubator毕业.该项目的目标是为处理实时数据提供一个统一.高通量.低等待的平台. 3)Kafka是一个分布式消息

kafka入门二:Kafka的设计思想、理念

本节主要从整体角度介绍Kafka的设计思想,其中的每个理念都可以深入研究,以后我可能会发专题文章做深入介绍,在这里只做较概括的描述以便大家更好的理解Kafka的独特之处.本节主要涉及到如下主要内容: Kafka设计基本思想 Kafka中的数据压缩 Kafka消息转运过程中的可靠性 Kafka集群镜像复制 Kafka 备份机制 一.kafka由来 由于对JMS日常管理的过度开支和传统JMS可扩展性方面的局限,LinkedIn(www.linkedin.com)开发了Kafka以满足他们对实时数据流

kafka浅谈

经过了一段时间对kafka的开发,谈谈自己的理解,并附上一幅自己画的思维导图(画的有点烂) kafka同时支持离线和实时系统,我在工作中它的主要工作是给storm信息,其实可以将它理解为一个消息缓冲. 1.架构 架构上分为:topic.broker.producer.consumer.后两个不用说就知道啥意思了,broker就是代理就是分布式系统中的节点. 我们把传送的一系列信息抽象为topic(话题),不同的消费者可以订阅某个话题(topic),不同的生产者可以生产话题.举个例子:比如新闻,我

[Big Data - Kafka] Kafka设计解析(二):Kafka High Availability (上)

Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢失.而Kafka的设计目标之一即是提供数据持久化,同时对于分布式系统来说,尤其当集群规模上升到一定程度后,一台或者多台机器宕机的可能性大大提高,对Failover要求非常高.因此,Kafka从0.8开始提供High Availability机制.本文从Data Replic

架构设计:系统间通信(28)——Kafka及场景应用(中1)

(接上文<架构设计:系统间通信(27)--其他消息中间件及场景应用(上)>) 在本月初的写作计划中,我本来只打算粗略介绍一下Kafka(同样是因为进度原因).但是,最近有很多朋友要求我详细讲讲Kafka的设计和使用,另外两年前我在研究Kafka准备将其应用到生产环境时,由于没有仔细理解Kafka的设计结构所导致的问题最后也还没有进行交代.所以我决定即使耽误一些时间,也要将Kafka的原理和使用场景给读者详细讨论讨论.这样,也算是对两年来自己学习和使用Kafka的一个总结. 4.Kafka及特性

架构设计:系统间通信(29)——Kafka及场景应用(中2)

接上文:<架构设计:系统间通信(28)--Kafka及场景应用(中1)> 4-3.复制功能 我们在上文中已经讨论了Kafka使用分区的概念存储消息,一个topic可以有多个分区它们分布在整个Kafka集群的多个Broker服务节点中,并且一条消息只会按照消息生产者的要求进入topic的某一个分区.那么问题来了:如果某个分区中的消息在被消费端Pull之前,承载该分区的Broker服务节点就因为各种异常原因崩溃了,那么在这个Broker重新启动前,消费者就无法收到消息了. 为了解决这个问题,Apa

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

(项目实战)大数据Kafka原理剖析及(实战)演练视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

Kafka对Java程序员有多重要?连阿里都再用它处理亿万级数据统计

一.了解淘宝Kafka架构在ActiveMQ.RabbitMQ.RocketMQ.Kafka消息中间件之间,我们为什么要选择Kafka?下面详细介绍一下,2012年9月份我在支付宝做余额宝研发,2013年6月支付宝正式推出余额宝,2013年8月担任支付宝淘宝×××项目经理带领兄弟们一起做研发,期间需要与淘宝和500万对接竞彩接口数据,业余时间与淘宝的同事沟通,了解天猫在电商节如何处理这些大数据的?技术架构上采用了哪些策略呢? 一.应用无状态(淘宝session框架) 二.有效使用缓存(Tair)