kafka-通俗易懂基础概念篇

一些大的网站如果想统计用户的访问情况,如果每个用户的访问,都在后端经过一系列的用户行为分析,然后再给客户返回结果这显然不现实,直接写入数据库,数据库也扛不住,

这时候就需要一个消息系统,在用户一个请求过来后,服务器只需要把这次操作扔到后端,不用管后端的处理结果,直接返回给用户结果,这样用户体验才比较好,比较符合实际情况

Kafka是一个分布式的消息系统,作为用户来说,只需要把数据扔给kafka,在需要的时候直接读就可以了,非常方便,实现异步非io阻塞

kafka分为productor,consumer和broker

productor:消息生产者,就是向kafka里面扔数据的一方(可以是多个productor向同一个写入)

consumer:消息消费者 ,就是从kafka里面消费(取)数据的一方(也可以是多个consumer向同一个kafka取数据)

broker:一个服务器实例,这个就是productor写入的服务器(实例),consumer从这里取数据,

topic:一条消息流

partition:分区,每个topic可以按特定的分区逻辑分区,类似mysql的分表,

partition的数据决定了一个topic可以同时多少个进程(用户)去写入,消费它(如果一个topic的partition为3,那么productor只能同时起3个进程写入,consumer同时有3个进程进行消费,如果启动的数量超过3个则会一直等待)

consumer group:消费者组,相同groupid的consumer组成一个组

如果多个consumer都指定同一个groupid,则这些consumer会自动组成一个负载均衡的模式,消费一个topic

offset:一条消息在消息流中的偏移

举例来说:数据1,2可以往topicid为top1里面写入 ,数据3,4可以往topicid为top2里面写入,

在消费时,指定同一个groupid,消费topicid为top1的topic,连续消费2次可以消费1,2,如果换一个groupid,则又从头开始消费,也就是同一条消费,可以被多个groupid重复消费

时间: 2024-10-15 11:20:28

kafka-通俗易懂基础概念篇的相关文章

数据集成之主数据管理(一)基础概念篇

数据集成是当下比較热门的话题,相关的产品和平台也越来越多.非常多CIO都在各种数据集成平台和产品之间犹豫不决.因此对数据集成平台的框架体系有全面的理解,对各个厂家产品所提供的功能有深入的认识才干为数据平台选型的决策提供可靠的保证. 我有幸參与了国内一个知名企业的集成平台的设计工作,并主导了数据集成平台的需求分析和产品选型工作.这次工作中,研究了非常多新的技术方向和产品,以下我主要讲一下数据集成领域的一种新兴的产品平台主数据管理平台MDM(Master Data Management). 主数据的

分布式学习——基础概念篇

概述 最近这段时间一直在看分布式有关的东西,但是关于分布式自己还是不能很好的理解,所以本文对分布式基础概念进行下学习. 分布式处理 首先先了解一下分布式处理,分布式处理和集中式处理正好是相反的的体系架构,集中传输集中到式处理顾名思义就是将所有的信息都一个统一的信息中心进行处理:分布式处理就是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机利用通信网络连接起来,让各个计算机各自承担同一个工作任务的不同部分,在控制中心的管理下,同时运行,共同完成同一个工作任务. 提到分布式处理就不能不提到

kafka系列 -- 基础概念

kafka是一个分布式的.分区化.可复制提交的发布订阅消息系统 传统的消息传递方法包括两种: 排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人. 发布-订阅:在这个模型中,消息被广播给所有的用户. kafka与传统的消息传递技术相比优势之处在于: 快速:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作. 可伸缩:在一组机器上对数据进行分区和简化,以支持更大的数据 持久:消息是持久性的,并在集群中进行复制,以防止数据丢失. 设计:它提供了容错保证和

EF基础概念篇

EF自己包括看视频,看MSDN零零散散的学了一点皮毛,这次打算系统学习一下EF.我将会使用VS2012来学习这个EF基础系列. 现在看看EF的历史吧: EF版本 相关版本特性介绍 EF3.5 基本的对象关系映射,支持DB First 方式(Basic O/RM support with Database First approach.) EF4.0 支持简单传统CLR对象(Plain old CLR Object),懒加载,可测试的改进,可以自定义代码的生成,支持ModeFirst: (POCO

云计算之--------基础概念篇

背景: 2015年开始一度火爆的TOP10热词中,一定少不了"云计算(cloudcomputing)",其官方解释是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻说法.过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象.因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸.预测气候变化和市场发展趋势.用户通过电脑.笔记本.手机等方式接入数据中心,按自己的需求

DNA拷贝数变异CNV检测——基础概念篇

一.CNV 简介 拷贝数异常(copy number variations, CNVs)是属于基因组结构变异(structural variation),根据大小可分为两个层次:显 微水平(microscopic)和亚显微水平(submicroscopic).显微水平 的基因组结构变异主要是指显微镜下可见的染色体畸变, 包括 整倍体或非整倍体.缺失.插入.倒位.易位.脆性位点等结构变 异.亚微水平的基因组结构变异是指 DNA 片 段 长 度 在 1Kb-3Mb 的基因组结构变异, 包括缺失.插入

Python_基础概念篇

author:lxy Python简介 1.Python是一种脚本语言,Python就是一个开放核心源代码的编程语言,它开发代码的效率非常高,代码编写后非常易读,非常适合多人参与的项目 .它支持面向对象的编程方式,同样也可以面对过程,非常灵活,它不但免费,而且可以任意Copy分发. Python是由荷兰人Guido van Rossum在90年代开发出来的,当初只是为了自娱自乐尝试编写一种替代ABC这些编程语言的脚本语言,没想到受到大家的喜欢,一直发展至今,后来引入了对多平台的支持. 2.Pyt

分布式系统之缓存的微观应用经验谈(一) 【基础细节篇】

分布式系统之缓存的微观应用经验谈(一) [基础细节篇] 前言 近几个月一直在忙些琐事,几乎年后都没怎么闲过.忙忙碌碌中就进入了2018年的秋天了,不得不感叹时间总是如白驹过隙,也不知道收获了什么和失去了什么.最近稍微休息,买了两本与技术无关的书,其一是Yann Martel 写的<The High Mountains of Portugal>(葡萄牙的高山),发现阅读此书是需要一些耐心的,对人生暗喻很深,也有足够的留白,有兴趣的朋友可以细品下.好了,下面回归正题,尝试写写工作中缓存技术相关的一

顶级Apache Kafka术语和概念

1.卡夫卡术语 基本上,Kafka架构  包含很少的关键术语,如主题,制作人,消费者, 经纪人等等.要详细了解Apache Kafka,我们必须首先理解这些关键术语.因此,在本文“Kafka术语”中,我们将学习所有这些Kafka术语,这将有助于我们建立Kafka知识的坚实基础.那么,让我们从Apache Kafka术语开始. Apache Kafka术语和概念 2.卡夫卡术语清单 在这篇Apache Kafka教程中,下面列出了最突出的Kafka术语,这些术语可以帮助我们建立Kafka知识的坚实