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是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日 ...
随机推荐
- [Web] Adaptive loading
There is pretty good talk about performacne https://www.youtube.com/watch?v=puUPpVrIRkc It targets t ...
- tensorflow2.0 学习(一)
虽说是按<TensorFlow深度学习>这本书来学习的,但是总会碰到新的问题!记录下这些问题,有利于巩固知新. 之前学过一些tensorflow1.0的知识,到RNN这章节,后面没有再继续 ...
- c++ 去掉所有空格及换行符
string get_string(string res){ //删除换行符 int r = res.find('\r\n'); while (r != string::npos) { if (r ! ...
- 【洛谷P4093】 [HEOI2016/TJOI2016]序列 CDQ分治+动态规划
你发现只会改变一个位置,所以可以直接进行dp 具体转移的话用 CDQ 分治转移就好了~ #include <bits/stdc++.h> #define N 100006 #define ...
- vue中代理实现方法
vue中代理实现方法如下: const path = require('path'); function resolve(dir) { return path.join(__dirname, dir) ...
- 关于System.BadImageFormatException
什么是BadImageFormatException BadImageFormatException是当动态链接库 (DLL) 或可执行程序的文件映像无效时引发的异常. 可能的原因 如果动态链接库 ( ...
- 【后缀数组】【LuoguP4248】 [AHOI2013]差异
题目链接 题目描述 给定一个长度为 n 的字符串 S,令 Ti 表示它从第 i 个字符开始的后缀.求 \(\sum_{1\le i <j\le n}len(T_i)+len(T_j)-2*lcp ...
- CSP2019自闭记
为什么我之前没有写呢,是因为我总是考的太lj,于是就不想写了. 这次不管考没考好都要强迫自己写,因为这是第一次参加提高组+第一次参加CSP. 当然什么初赛/复赛试题/答案什么的是不会出现的. Day ...
- mysql union 组合查询
mysql> select * from test -> ; +----+------------+-------+-----------+ | id | name | score | s ...
- D3.js的v5版本入门教程(第十章)
在这一章我们干点有趣的事——让我们上一章绘制的图表动起来,这样岂不是很有意思 为了让图表动起来,我们还是需要以下新的知识点 .attr(xxx) .transition() .attr(xxx),tr ...