kafka的基本模型

kafka官网

线程和线程之间的数据交互

在jvm里不同的线程有自己的栈内存,但彼此之间交互可以在共享的内存中进行,即堆内存,堆内存会将这些消息放到队列中,具体实现jvm见,栈内存各自维护,堆内存大家共享

进程和进程之间的数据交互

不同的进程在服务器上启动的时候,中间通过socket和websocket进行交互。

可能会产生的问题:

①产生和消费的速度不对等,内存/磁盘作为稀有资源会不够用,从而产生消息积压的问题,可能通过文件存储的方式解决

②要对消息进行处理,可能一条消息发给多个进程,也可能一条消息切割为多部分被多个进程消费此时就需要一个中间件,进行消息的缓冲处理,称为消息中间件。

③使用消息中间件也可避免生产者和消费者的直连,降低系统的耦合性,提高可用性和可拓展性 

MQ的简介

 Java中消息产生,发送到MQ软件中,发送消息的被称为Producer(消息提供者),接收消息的被称为Consumer(消息消费者),MQ软件中一般用队列处理消息,消息一般包含消息头、消息属性、消息主题内容。

P2P模型

 (Publish-Subscribe)相当于是一对一,一条消息一个人发送,只能被一个人接收。

PS模型 

即是消息的发布和订阅模型

kafka借鉴了JMS模型,但不完全遵循,所以虽然是消息中间件,但不同于RabbitMQ、ActiveMQ、RocketMQ命名中带Message Queue,kafka中的消息message一般称之为record,JMS Provider一般称之为Kafka Broker,保证消费顺序的索引称之为偏移量offset

 kafka的基本组件,app调用kafka的producer和consumer进行消息的传递和读取,其中kafka自身是通过broker代理进行这些消息的处理, broker中的消息想要进行有序处理,通过偏移量实现也就是offset。

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

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

相关文章

微信小程序UI组件库合集

文章目录 前言参考地址推荐组件库1.官方WeUI(建议使用☆☆☆☆)2.ColorUI(广告很多,不建议使用)3.vantUI又名:ZanUI(操作简单,建议使用☆☆☆☆)4.MinUI(比较…

STM32---SPI通信协议(小白入、含源码)

写在前面:在单片机的学习过程中,各种通信协议的学习是必不可少的,在前面我们学习了串口通信、IIC通信,本节我们来认识一下SPI通信协议。包括其SPI基本概念、NORFLASH芯片的介绍以及相关的例程实验。 目录 一、SPI介绍 1.1什么是…

【小白专用24.6.18】C# SqlSugar:连接数据库实现简单的,增、删、改、查

【小白专用 已验证24.6.18】C# SqlSugar操作MySQL数据库实现增删改查-CSDN博客 通过NuGet包管理器搜索SqlSugar(MySql还要安装MySql.Data、Newtonsoft.Json)包并安装 SqlSugarClient db new SqlSugarClient(new ConnectionConfig(){ConnectionString …

中国信通院专访镜舟科技:开源商业化走了多远?

据《2023 中国开源发展蓝皮书》显示,随着数字化转型的深入,开源生态在去年快速发展,开源商业化的模式也逐渐成型。镜舟科技作为开源商业化的先行者,也在技术创新和商业拓展中稳步增长。 日前,中国信息通信研究院&…

Python基础教程(二十八):pip模块

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

NGINX_十二 nginx 地址重写 rewrite

十二 nginx 地址重写 rewrite 1 什么是Rewrite Rewrite对称URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如 http://www.123.com…

2024097期传足14场胜负前瞻

2024097期售止时间为6月22日(周六)20点30分,敬请留意: 本期14场由欧洲杯、美洲杯、美职联组成,1.5以下赔率2场,1.5-2.0赔率10场,其他场次是平半盘、平盘。本期14场难度中等。以下为基础盘前瞻&a…

docker将容器打包提交为镜像,再打包成tar包

将容器打包成镜像可以通过以下步骤来实现。这里以 Docker 为例,假设你已经安装了 Docker 并且有一个正在运行的容器。 1. 找到正在运行的容器 首先,你需要找到你想要打包成镜像的容器的 ID 或者名字。可以使用以下命令查看所有正在运行的容器&#xff…

【0-1系列】从0-1快速了解搜索引擎是什么以及怎么用(上)

友情链接 社区开发版安装部署与使用教程社区版家族V2024.5版本更新说明 START>>1.快速了解搜索引擎 什么是搜索引擎数据库 搜索引擎数据库是一类专门用于数据内容搜索的NoSQL数据库,是非结构化大数据处理分析领域中重要的基础支撑软件。 伴随互联网、移动…

DSP应用市场的大蛋糕,国产厂商能吃下多少?

DSP是数字信号处理器(Digital Signal Processor)的简称,是一种专门用于高速数学运算的微处理器。DSP能够快速且准确地处理数字信号,同时具备可编程和低功耗等特点,如今在各个领域发挥着越来越重要的作用。 &#xff08…

【目标检测】图解 DETR 系统框图

简略版本 Backbone:CNN backbone 学习图像的 2D 特征Positional Encoding:将 2D 特征展平,并对其使用位置编码(positional encoding)Encoder:经过 Transformer 的 encoderDecoder:encoder 的输出…

spring-gateway配置说明

在开发过程中遇到的一些配置问题,记录下来以供参考 spring-gateway版本是2.2.9-release,使用的spring cloud dependence 是 Hoxton.SR12 在依赖eureka 服务发现并自动将发现服务器加入到router中的时候,需要指定对应的服务进行添加,根据文档…

技术分享 | 基于 API 解析的 Python 爬虫

最近各大高校纷纷翻拍 Coincidence 抖肩舞,需要对这种流行现象进行数据分析。数据分析首先需要有数据,本文介绍了爬取 B 站相应视频的评论、弹幕、播放量、点赞数等数据的方法。爬虫有多种实现方法,大型的网络爬虫多基于成熟的爬虫框架&#…

vue 登录

1.创建项目 Set-ExecutionPolicy RemoteSigned npm install -g yarn yarn add axios yarn add element-pluspackage.json {"name": "tom6","version": "0.1.0","private": true,"scripts": {"serve": &…

域内攻击手法——域内用户枚举和密码喷洒

一、域内用户枚举 1、域内用户枚举原理 域内用户枚举可以在无域内有效凭据的情况下,枚举出域内存在的用户名,并对其进行密码喷洒攻击,以此获得域内的有效凭据,在 Kerberos 协议认证的 AS-REQ 阶段,客户端向 AS 发送的…

交易中的特殊存在

在交易的广袤天空中,有一群特殊的存在——他们,是Eagle Trader。 他们以鹰眼般的洞察力,捕捉市场的微妙变化,每一次决策都如同猎食者般精准;他们运用策略,如同雄鹰在风中翱翔,利用风向&#xf…

索尼MXF文件断电变2G恢复方法(PXW-Z280V)

PXM-Z280V算是索尼比较经典的机型,也是使用MXF文件格式的机型之一。近期接到很多例索尼MXF量突然不正常的案例(如变成512字节或者2G),下面来看下这个案例。 故障存储: 128G存储卡 /文件系统:exFAT 故障现象: 客户反…

兴业严选|朝阳、大兴、丰台、等5.9折起总有一套适合你~

近日于上海,出现了一桩令人始料未及之事。一套地处浦东、面积达 245.7 平方米的住宅进行挂网拍卖。 出乎意料的是,此套房子受到众多买家的青睐,历经一番激烈的竞价竞争,最终以 1766 万元的价格成交,折合每平方米 7187…

通俗范畴论3 从特指对象到对象

同一性问题 如前所述,特指对象有个名字,并用一个点表示(相当于另一个名字),它可以作为箭头的起点或终点,箭头的多少,以及箭头的起点和终点根据表达的需要而定,没有特别的约定。因此…

玄机平台流量特征分析-蚁剑流量分析

前言 蚁剑的流量特征 (1)每个请求体都存在ini_set(“display_errors”, “0”);set_time_limit(0)开头。并且后面存在base64等字符 (2)响应包的结果返回格式为: 随机数 响应内容 随机数 看一下题目要求 步骤1.1 这里要求我们找到木马的连接密码,…