Kafka精华问答 | Kafka有哪些使用场景?

640?wx_fmt=png

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。今天就让我们一起来看看关于Kafka 的精华问答吧。


640?wx_fmt=gif1

Q:Kafka的使用场景


A: 1、Messaging   

    对于一些常规的消息系统,kafka是个不错的选择;partitons/replication和容错,可以使kafka具有良好的扩展性和性能优势.不过到目前为止,我们应该很清楚认识到,kafka并没有提供JMS中的"事务性""消息传输担保(消息确认机制)""消息分组"等企业级特性;kafka只能使用作为"常规"的消息系统,在一定程度上,尚未确保消息的发送与接收绝对可靠(比如,消息重发,消息发送丢失等)

    2、Websit activity tracking

    kafka可以作为"网站活性跟踪"的最佳工具;可以将网页/用户操作等信息发送到kafka中.并实时监控,或者离线统计分析等

    3、Log Aggregation

    kafka的特性决定它非常适合作为"日志收集中心";application可以将操作日志"批量""异步"的发送到kafka集群中,而不是保存在本地或者DB中;kafka可以批量提交消息/压缩消息等,这对producer端而言,几乎感觉不到性能的开支.此时consumer端可以使hadoop等其他系统化的存储和分析系统.


640?wx_fmt=gif2

Q:Kafka有哪些特性?


A:- 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。

- 可扩展性:kafka集群支持热扩展

- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失

- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)

- 高并发:支持数千个客户端同时读写


640?wx_fmt=gif3

Q:Kafka存在哪些组件?


A:一个MQ需要哪些部分?生产、消费、消息类别、存储等等。

  对于kafka而言,kafka服务就像是一个大的水池。不断的生产、存储、消费着各种类别的消息。那么kafka由何组成呢?

> Kafka服务:

  > Topic:主题,Kafka处理的消息的不同分类。

  > Broker:消息代理,Kafka集群中的一个kafka服务节点称为一个broker,主要存储消息数据。存在硬盘中。每个topic都是有分区的。

  > Partition:Topic物理上的分组,一个topic在broker中被分为1个或者多个partition,分区在创建topic的时候指定。

  > Message:消息,是通信的基本单位,每个消息都属于一个partition

> Kafka服务相关

  > Producer:消息和数据的生产者,向Kafka的一个topic发布消息。

  > Consumer:消息和数据的消费者,定于topic并处理其发布的消息。

  > Zookeeper:协调kafka的正常运行。


640?wx_fmt=gif4

Q:Kafka的主要功能有哪些?

 

A:根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能:

  1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因

  2:It lets you store streams of records in a fault-tolerant way.以容错的方式记录消息流,kafka以文件的方式来存储消息流

  3:It lets you process streams of records as they occur.可以再消息发布的时候进行处理


640?wx_fmt=gif5

Q:Kafka存储策略


A:1)kafka以topic来进行消息管理,每个topic包含多个partition,每个partition对应一个逻辑log,有多个segment组成。

2)每个segment中存储多条消息(见下图),消息id由其逻辑位置决定,即从消息id可直接定位到消息的存储位置,避免id到位置的额外映射。

3)每个part在内存中对应一个index,记录每个segment中的第一条消息偏移。

4)发布者发到某个topic的消息会被均匀的分布到多个partition上(或根据用户指定的路由规则进行分布),broker收到发布消息往对应partition的最后一个segment上添加该消息,当某个segment上的消息条数达到配置值或消息发布时间超过阈值时,segment上的消息会被flush到磁盘,只有flush到磁盘上的消息订阅者才能订阅到,segment达到一定的大小后将不会再往该segment写数据,broker会创建新的segment。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于kafka,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!


推荐阅读:

  • 在线公开课 | 从理论走向实践,多角度详解Cloud Native

  • 苹果春季发布会:库克绝不玩别人玩剩下的!

  • 中国区块链职业发展现状: 30岁前不做开发; 平均薪资仅38.4万; 跳槽薪资涨三成 (附完整报告下载资源)

  • 库克谈“唱衰苹果”:一派胡言!

  • 上海交大CV博导微信群辱骂学生,已停止教学

  • 李沐团队新作Gluon,复现CV经典模型到BERT,简单好用 | 强烈推荐

  • 日本乐天要求员工学编程,AI 进中小学课堂,全民编程时代来了!


640?wx_fmt=png喜欢就点击“在看”吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZooKeeper启动报错 JAVA_HOME is incorrectly set

解决办法:在zkEnv.cmd文件中直接写死调用的jdk路径

IOS OpenGL ES GPUImage 差值混合 GPUImageDifferenceBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

腾云驾雾的计算,让你蒙圈了么?

戳蓝字“CSDN云计算”关注我们哦!译者:林小新首发:《计算机与网络》自从“云计算”与其分支“边缘计算”和“雾计算”推出以来,这三者之间的差异甚至让许多专业人士都感到困惑。但是当涉及到一般消费者、IT开发人员、数据分析师和…

IOS OpenGL ES GPUImage 减法混合 GPUImageSubtractBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

云现场 | 别等到WiFi断了 才明白云管理网络的重要性

戳蓝字“CSDN云计算”关注我们哦!作者:刘丹让你过几天没有Wi-Fi的生活,是一种什么样的感受?在现代人的生活里,离不开Wi-Fi已经成为日常,超市、酒店、住宅、医院、高铁……你能想到的所有场景几乎都已经部署…

idea terminal 不支持中文

idea terminal 不支持中文 问题现象,如图所示: 修改前 如下图 : 解决方案: 1、做一下配置,按图操作即可: 2、找到以下标记文件 3、打开bash.bashrc 在最后添加 export LANG"zh_CN.UTF-8" ex…

Spark精华问答 | Spark做大规模高性能数值计算可以吗?

Spark作为一个用来实现快速而通用的集群计算的平台。扩展了广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,在处理大规模数据集的时候,速度是非常重要的。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁…

解决Git Log在IDEA中乱码的问题

文章目录1. git bash2. 配置环境变量3. 效果图1. git bash 执行下面3条命令 文件提交编码格式 git config --global i18n.commitencoding utf-8这个主要就是log输出的编码格式 git config --global i18n.logoutputencoding utf-8界面编码格式 git config --global gui.enco…

IOS OpenGL ES GPUImage 强光混合 GPUImageHardLightBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

细说说傲腾与哈娜的那些事儿

戳蓝字“CSDN云计算”关注我们哦!开门见山,今天我们谈谈傲腾与哈娜的“很多事儿”,嗯,也就是英特尔 傲腾™ 数据中心级持久内存与 SAP HANA 2.0 SPS 03啦!众所周知,SAP HANA 2.0 SPS 03 包含众多针对 SAP H…

The authenticity of host 'github.com (52.74.223.119)' can't be established.

The authenticity of host ‘github.com (52.74.223.119)’ can’t be established. 在初始化git之后(git init),同时在github建立好仓库之后,本地也新增了ssh kye(ssh-keygen -t rsa -C ‘mail address’&#xff09…

IOS OpenGL ES GPUImage 柔光混合 GPUImageSoftLightBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

容器:开启应用微观时代

戳蓝字“CSDN云计算”关注我们哦!谈到数字化转型,大多数文章的表达方式大概都是“在时代从互联网进入产业互联网的背景下,所有行业都应该拥抱云计算、大数据和人工智能……”好像只要开出这三味药名就能药到病除。谈到容器与微服务&#xff0…

IOS OpenGL ES GPUImage 色度键混合 GPUImageChromaKeyBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

SDN精华问答 | 为什么SDN要花这么长时间才被采用?

SDN火热了好一阵子,无论运营商、政府企业、投资机构,一段时间,不知道SDN、不能甩几个SDN相关的名词术语,似乎都落后于时代了。今天,就来看看关于SDN的精华问答吧。1Q:SDN将会提供端到端的IT基础设施可见性&…

idea报错Module Project1 must not contain source root ...\Project1\src. The root already belongs to m

选择modules,选择根模块,删除add content root 下面不直接属于根模块的目录即可

IOS OpenGL ES GPUImage 遮罩混合 GPUImageMaskFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

云有约 | 超融合的远航探险 看泽塔云2019年如何披荆斩棘?

戳蓝字“CSDN云计算”关注我们哦!作者:刘丹创业的艰辛不言而喻,在激烈的市场环境下,企业想要在一场场厮杀中站稳脚跟,光靠蛮干不行,关键还得用巧劲。2014年11月,北京泽塔云科技股份有限公司成立…

idea报Can’t Open Local Terminal

解决方案如下,按图操作: 操作后,效果图: 重启idea,问题解决!如图上所示。

IDEA Maven项目左边栏只能看到pom文件

1-1问题现象: 打开左侧Project窗口本应该显示项目结构,但是只显示项目文件看不到项目结构 1-2 解决方案: 在idea右上角点击file->>>>>project structure…–>>>>>>->Modules 2、点击右上角加号 -…