Kafka排队:Apache Kafka作为消息传递系统
1.目标
在这个Apache Kafka教程中,我们将学习Apache Kafka Queuing 的概念 。基本上,Kafka中的排队是传统消息传递的模型之一。所以,让我们首先简要介绍Kafka作为消息传递系统,这将有助于我们更好地理解Kafka排队。此外,我们将看到Kafka Queue的一些应用程序更好地清除这个概念。那么,让我们从Kafka Queuing教程开始吧。

卡夫卡队列
2.卡夫卡作为消息系统
传统上有两种消息传递模型,例如Kafka中的Kafka排队和发布 - 订阅。
让我们详细讨论两个Kafka模型:
一世。卡夫卡队列
在此Kafka消息传递系统中,Kafka消费者池 可以从服务器读取。此外,每个记录都在这里转到其中一个。它有一些优势和一些弱点。它的优势在于它允许我们在多个消费者实例上划分数据处理,这有助于我们扩展处理。但它的弱点是,它不是多用户,只要一个进程读取它已经消失的数据。
II。Kafka Publish-Subscribe
在这个Kafka Publish-Subscribe系统中,记录被广播给所有Kafka消费者。它允许我们将数据广播到多个进程。但是,它也有一些限制,例如无法进行扩展处理,因为每个消息都发送给每个用户。
在卡夫卡,这两个概念由卡夫卡消费者群体推广。但是,Kafka中的消费者群体允许我们使用Kafka队列来分割处理集合上的处理。这里的进程集合指的是消费者组的成员。此外,Kafka允许我们使用Kafka发布 - 订阅向多个消费者群体广播消息。
学习Apache Kafka工作流程| Kafka Pub-Sub Messaging
因此,Kafka模型的主要优点是每个Kafka主题都可以使用这些属性 - 它可以扩展处理,也可以是多用户。因此,这意味着我们不必选择其中一个。
与传统的消息系统相比,Kafka具有更强的订购保证。
由于传统系统中的处理没有并行性,因此Kafka在并行性概念上表现良好。因为Kafka可以在一组消费者流程中提供订购保证和负载平衡。
3.需要卡夫卡队列
Kafka Queuing应用程序之一是Microservice架构。它本质上要求某种消息排队系统。让我们先了解微服务架构。它是将互连的单片应用程序解耦为不同的独立模块以及外部数据源以及API的概念。因此,为了处理微服务 - 外部源和微微服务和通信,消息队列就出现了。
此外,虽然我们将一个大的单片应用程序划分为更小的微服务(松散耦合),但那时REST API调用增加了这些微服务,并且与外部数据源的连接数也增加了。
阅读Kafka性能调优 - Kafka优化的方法
但是,保持这个庞大的系统同步是不可取的,因为它可以使整个应用程序无响应。而且,它首先可以打破分成微服务的整个目的。
因此,当时拥有Kafka使整个数据流更容易。因为它是分布式的,高度容错的,并且它还通过Zookeeper等服务持续监控代理节点。因此,它使工作效率提高。
4. ML Solutions Pipeline中的消息队列
除此之外,我们还可以使用Kafka排队等各种ML解决方案管道。但是,ML解决方案构建为:
用户界面(在客户端,移动/网络) - →API服务器和数据库 - →机器学习(黑盒子)。
但是,ML黑盒子计算量很大,并且在阻塞同步模式下使这些请求实际上并不容易。此外,在这种情况下,所有请求都可以在队列中并配置使用者API以逐个获取这些请求并将其提供给ML黑盒子。因此,虽然涉及计算密集型任务,但此管道可以轻松处理,例如从数千个图像中识别对象,即使不丢失任何请求也可能需要相当长的时间。
让我们修改Apache Kafka Producer For Beginners 2018
基本上,微服务部署到容器中,例如通过容错的分布式Kafka代理 节点集群进行 调解,并使用它监控它的Zookeeper,这似乎是一种进取软件开发的新方法。
所以,这完全是关于Kafka Queuing:Kafka作为消息传递系统。希望你喜欢我们的解释。
5.结论
因此,我们已经看到了Kafka排队的完整概念。此外,我们讨论了为什么Kafka作为消息排队。与此同时,我们学习了两个模型--Kafka队列和Kafka发布 - 订阅。此外,我们看到了为什么我们需要Kafka Queuing。最后,我们讨论了ML解决方案管道中的消息队列。但是,如果在Kafka中发生任何关于排队的查询,请随时通过评论部分询问。
另请参阅 -
最佳Apache Kafka测验 - 3分钟解决,以
供参考
Kafka排队:Apache Kafka作为消息传递系统的更多相关文章
- Apache Kafka - 介绍
原文地址地址: http://blogxinxiucan.sh1.newtouch.com/2017/07/12/Apache-Kafka-介绍/ Apache Kafka教程 之 Apache Ka ...
- Apache Kafka教程
1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外 ...
- Apache Kafka工作流程| Kafka Pub-Sub Messaging
1.目标 在我们上一篇Kafka教程中,我们讨论了Kafka Docker.今天,我们将讨论Kafka Workflow.此外,我们将详细介绍Pub-Sub Messaging的工作流程以及Queue ...
- 大规模使用 Apache Kafka 的20个最佳实践
必读 | 大规模使用 Apache Kafka 的20个最佳实践 配图来源:书籍<深入理解Kafka> Apache Kafka是一款流行的分布式数据流平台,它已经广泛地被诸如New Re ...
- Apache Kafka Consumer 消费者集
1.目标 在我们的上一篇文章中,我们讨论了Kafka Producer.今天,我们将讨论Kafka Consumer.首先,我们将看到什么是Kafka Consumer和Kafka Consumer的 ...
- Apache Kafka Producer For Beginners
在我们上一篇Kafka教程中,我们讨论了Kafka Cluster.今天,我们将通过示例讨论Kafka Producer.此外,我们将看到KafkaProducer API和Producer API. ...
- 【转载】Apache Kafka:下一代分布式消息系统
http://www.infoq.com/cn/articles/kafka-analysis-part-1 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩 ...
- Apache Kafka —一个不同的消息系统
Apache已经发布了Kafka 0.8,也是自从成为Apache软件基金会的顶级项目后Kafka的 第一个主版本. Apache Kafka是发布—订阅消息传递,实现了分布式提交日志,适用于离线和在 ...
- Apache Kafka:下一代分布式消息系统
[http://www.infoq.com/cn/articles/apache-kafka/]分布式发布-订阅消息系统. Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日 ...
随机推荐
- 关于原生js的节点兼容性
关于节点的兼容性: 1:获取元素的子节点 a: childNodes:获取元素的子节点,空文本,非空文本,注释,获取的比较全面, 如果只是想获取元素的子节点,请用(children) b: c ...
- LeetCode 1039. Minimum Score Triangulation of Polygon
原题链接在这里:https://leetcode.com/problems/minimum-score-triangulation-of-polygon/ 题目: Given N, consider ...
- lxml_time_代理
import requests from pyquery import PyQuery as pq import json import jsonpath from lxml import etree ...
- PowerDesigner 创建表的时候 没有自增长Id的设置项
今天早上同事创建表的时候,在那个界面没有自增长Id的选项,当时我也纳闷,软件肯定都是一样的,设置的步骤都一样(有些配置好的 我就没改过 然后就忘了还改过些什么步骤了),结果还是没有那个选项 百度了一下 ...
- CTS&&APIO2019爆零记
如果你只好奇测试相关请跳至day 2 day 3 day 6 scoi 2019 之后 由于实力问题,省选的时候排名在三十多,显然是没有进队.不过可能是受过的打击比较多,所以还没有特别颓废,甚至连 ...
- sublime text 3插件改造之AutoFileName去掉.vue文件中img标签后面的width和height,完全去掉!!
在.vue文件中img标签使用autofilename提示引入文件时,会在文件后面插入宽度高度,如下图: 文件后面会自动插入height和width,其实这两玩意儿在大多数时候并没卵用,然后就开始了百 ...
- 微信小程序根据状态换图
在index.wxml中添加图片 <image bindtap="click" src="{{show?'/images/.png':'/images/.png'} ...
- 怎么样使element ui 的table某列变色
第一步.在el-table里面加上:row-style="rowClass" <el-table :data="targetCarList" border ...
- 2019SDN第7次上机作业
2019SDN第7次上机作业 1.作业要求: 作业博客链接:https://edu.cnblogs.com/campus/fzu/fzusdn2019/homework/10165 2.具体操作步骤与 ...
- Win7下安装VS2017、安装Qt5.10.1以及在VS2017添加qt插件
一.安装VS2017 1.下载VS2017 进入vs下载官网https://www.visualstudio.com/zh-hans/downloads/,选择所需要的vs版本,进行在线安装. 2.安 ...