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是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日 ...
随机推荐
- junit4的进一步探讨
上次只是大概记录了下junit4几个常见标签的用法. 在这篇文章中,我们来进一步分析junit4的用法. 1.断言 junit4中一个很常见的用法就是断言.说到断言,大家再熟悉不过了.不过也许有的朋友 ...
- 洛谷 [USACO05DEC] 布局 题解
今天学了差分约束系统, 这是一道板子题. 核心:a[v]>a[u]+d 相当于从u到v连一条长度为d的有向边.由于要判断有环,所以要从0点先跑一遍spfa因为1点不一定能到所有的点. #incl ...
- NTSTATUS代码摘录
00000000 STATUS_SUCCESS00000000 STATUS_WAIT_000000001 STATUS_WAIT_100000002 STATUS_WAIT_200000003 ST ...
- ESP8266低功耗解决的其中一个问题(芯片发热,影响旁边的温湿度芯片)
这个项目的这个问题困扰了自己好长时间了,ESP8266芯片发热,导致了旁边的温湿度传感器采集不了空气中的温度....采集的温度是芯片发热的温度 一直采集出来的是30多度......尽管空气温度10几度 ...
- P2624 [HNOI2008]明明的烦恼
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #inclu ...
- Matlab下的文件执行路径
Matlab下有时命令出错,源于Command窗口的路径不正确.快捷键的执行会受此影响.
- C Primer Plus--位操作
位字段 bit field 位字段是一个signed int或者unsigned int中一组相邻的位.位字段由一个结构声明建立,该结构声明为每个字段提供标签,并决定字段的宽度. struct p { ...
- jmeter5实现mysql数据库值提取--单sql提取
字段背景: 在进行接口测试或者压力测试过程中下文的请求需要用到上文请求的值,除了通过正则表达式的方式外,为了更准确的获得数据库值,我们可以直接从数据库提取 一.如何实现数据库的连接.此处不再赘述 点击 ...
- 微众银行Java面试-社招-一面(2019/07)
个人情况 2017年毕业,普通本科,计算机科学与技术专业,毕业后在一个二三线小城市从事Java开发,2年Java开发经验.做过分布式开发,没有高并发的处理经验,平时做To G的项目居多.写下面经是希望 ...
- Tomcat的安装以及环境变量的配置
目录 下载 解压并配置环境变量 测试 关闭服务 Tomcat启动时,控制台和IDEA控制台中文乱码解决方案 下载 官方网址:Apache Tomcat® https://tomcat.apache.o ...