kafka的基本模型

news2024/10/5 13:13:18

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.coloradmin.cn/o/1842420.html

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

相关文章

【SD3辅助工具推荐】InstantX发布了三种SD3专属的ControlNet模式——Pose、Canny和Tile

InstantX 是一家专注于人工智能内容生成的独立研究机构。此前,曾开源著名的InstantID和论文《InstantID : Zero-shot Identity-Preserving Generation in Seconds》。随着本月12号,Stability AI正式开源了其产品 Stable Diffusion 3,这家机构…

开发板连接WiFi+开发板配置动态/静态IP

一、开发板连接WiFi 1、OTG线连接,使用adb进入开发板命令行。 2、使用下面指令来连接 wifi: connmanctl //进入 WIIF操作终端 connmanctl> enable wifi //使能 WIFI3、继续进入 connmanctl操作终端 connmanctl> scan wifi //开启 WIFI扫描,可以…

深度学习算法informer(时序预测)(三)(Encoder)

一、EncoderLayer架构如图(不改变输入形状) 二、ConvLayer架构如图(输入形状中特征维度减半) 三、Encoder整体 包括三部分 1. 多层EncoderLayer 2. 多层ConvLayer 3. 层归一化 代码如下 class AttentionLayer(nn.Module):de…

前端安全——最新:lodash原型漏洞从发现到修复全过程

前端安全——最新:lodash原型漏洞从发现到修复全过程 1. 漏洞复现 现在很多系统的前端都是基于vue和react框架的,所以就肯定少不了引入各种依赖,而lodash作为一款非常流行的npm库,每月的下载量超过8000万次。可以说是使用的十分…

ASP.NET MVC企业级程序设计(增删,int类型转时间取余)

目录 题目: 实现过程 控制器代码 DAL BLL Index Jia 题目: 实现过程 控制器代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models;namespace …

Palo Alto GlobalProtect App 6.3 (macOS, Linux, Windows, Andriod) - 端点网络安全客户端

Palo Alto GlobalProtect App 6.3 (macOS, Linux, Windows, Andriod) - 端点网络安全客户端 Palo Alto Networks 远程访问 VPN 客户端软件 请访问原文链接:https://sysin.org/blog/globalprotect-6/,查看最新版。原创作品,转载请保留出处。…

idea-Spring框架与ioc容器

Sping是轻量级的开源J2EE框架,可以解决企业应用开发的复杂性 Spring有两个核心部分为Ioc和AOP Ioc:控制反转,吧创建对象过程交给Sping进行管理 AOP:面向切面,不修改代码进行功能增强 创建Maven项目 IDEA-2024 就直接创建java项目即可 创…

为什么有人认为Linux不如macOS?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!首先要明确你说的是哪个Lin…

Git分支的状态存储——stash命令的详细用法

文章目录 6.6 Git的分支状态存储6.6.1 git stash命令6.6.2 Git存储的基本使用6.6.3 Git存储的其他用法6.6.4 Git存储与暂存区6.6.5 Git存储的原理 6.6 Git的分支状态存储 有时,当我们在项目的一部分上已经工作一段时间后,所有东西都进入了混乱的状态&am…

前端网页开发学习(HTML+CSS+JS)有这一篇就够!

目录 HTML教程 ▐ 概述 ▐ 基础语法 ▐ 文本标签 ▐ 列表标签 ▐ 表格标签 ▐ 表单标签 CSS教程 ▐ 概述 ▐ 基础语法 ▐ 选择器 ▐ 修饰文本 ▐ 修饰背景 ▐ 透明度 ▐ 伪类 ▐ 盒子模型 ▐ 浮动 ▐ 定位 JavaScript教程 ▐ 概述 ▐ 基础语法 ▐ 函数 …

Si24R05—高度集成的低功耗 2.4G+125K SoC 芯片

Si24R05是一款高度集成的低功耗SoC芯片,具有低功耗、Low Pin Count、宽电压工作范围,集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、无线收发器、3D低频唤醒接收器等丰富的外设。内核采用RISC-V RV32IMAC(2.6 …

【BES2500x系列 -- RTX5操作系统】CMSIS-RTOS RTX -- 实时操作系统的核心,为嵌入式系统注入活力 --(一)

💌 所属专栏:【BES2500x系列】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1f49…

本地部署应用测试01:ChatTTS

目的: 参考网上多种教程,学习开源大模型的部署与相关知识点,在此总结记录。 知识点: 1.大模型部署与应用大致步骤 首先需要下载项目的源码,并完成项目环境的搭建其次需要下载训练好的权重参数文件,以便…

微信公众号绑定开发者后端,报错“系统发生错误,请稍后重试”的坑

一、问题描述 在公众号后端填写完基本配置,点击保存,发现提示“系统发生错误,请稍后重试”。联系公众号客服回复,涉及开发内容不给支持-_-|| 二、经多次百度,结合实际尝试,总结解决方案如下:…

深入理解TCP协议:工作原理、报文结构及应用场景

TCP协议详解 TCP(Transmission Control Protocol,传输控制协议)是因特网协议套件中最重要的协议之一。它为应用程序提供了可靠、面向连接的通信服务。TCP协议确保数据包按顺序到达,并且没有丢失或重复。本文将详细介绍TCP协议的工…

OS复习笔记ch11-1

外围设备的管理和磁盘调度 外围设备 从CPU的角度来看,外设有几个比较重要的I/O接口(interfaces) 状态reg:向CPU报告设备的状态(忙碌/空闲)命令reg:接收CPU命令,存储 CPU 需要执行的…

Java变量:声明、作用域和命名约定

Java变量:声明、作用域和命名约定 什么是变量? 在Java中,变量是保存特定数据类型值的内存位置的名称。它是java编程中的一个基本概念,允许您在程序执行期间存储和操作数据。 Java中的变量可以保存各种类型的数据,包括…

【ai】tx2-nx:配置tritonserver2.17.0-jetpack4.6 环境并运行例子

2.17.0 for jetpack 4.6运行需要 如果在jetson上构建Triton : Note: When building Triton on Jetson, you will require a newer version of cmake. We recommend using cmake 3.21.0. Below is a script to upgrade your cmake version to 3.21.0. You can use cmake 3.18.4…

金融居间CRM系统赋能金服企业精细化管理客户

金融居间CRM系统可以帮助金融服务企业实现精细化管理客户。通过CRM系统,企业可以更好地了解和跟踪客户需求、行为和历史记录。以下是一些具体的赋能方式: 1. 客户数据集成与管理 将客户的个人信息、财务状况、交易历史等数据集成到一个统一的平台中&…

三步问题00

题目链接 三步问题 题目描述 注意点 n范围在[1, 1000000]之间结果可能很大,需要对结果模1000000007 解答思路 动态规划的思想根据dp[i - 1]、dp[i - 2]、dp[i - 3]推出dp[i]需要注意的是结果可能很大,在计算的过程中需要模1000000007防止越界 代码…