Kafka(一)
一:简介
解决高吞吐量项目的需求
是一款为大数据而生的消息中间件,具有百亿级tps的吞吐量,在数据采集、传输、存储的过程中发挥着作用
二:为什么要使用消息队列
一个普通访问量的接口和一个大并发的接口,它们背后的设计逻辑是不同的
同步的通信方式:
-系统开销(响应时间)较大
-在同步的过程中要保证每个服务都顺利执行完,整个链路才执行完,因为网络等问题,整个链路成功执行的成功率会受影响
同步的通信方式存在性能和稳定性的问题
异步的通信方式:
-明显提升系统的吞吐量
-即使有服务失败,也可以通过分布式事务解决方案来保证最终的成功
相对于同步的通信方式,异步,可以让上游快速成功,极大提高系统的吞吐量。在分布式系统中,通过下游多个服务的分布式事务的保障,也能保障业务执行之后的最终一致性
消息队列解决的就是通信的问题
三、消息队列的流派
消息队列的中间件选型有很多种:
-
rabbitMQ:内部的可玩性(功能性)是非常强的
-
rocketMQ: 阿里内部一个大神,根据kafka的内部执行原理,手写的一个消息队列中间 件。性能是与Kafka相比肩,除此之外,在功能上封装了更多的功能。
-
kafka:全球消息处理性能最快的一款MQ
-
zeroMQ
它们之间的区别
1. 有broker
重topic:Kafka、RocketMQ、ActiveMQ 整个broker,依据topic来进行消息的中转。在重topic的消息队列里必然需要topic的存在
轻topic:RabbitMQ topic只是一种中转模式。
2.无broker
在生产者和消费者之间没有使用broker,例如zeroMQ,直接使用socket进行通信。

相关文章:
Kafka(一)
一:简介 解决高吞吐量项目的需求 是一款为大数据而生的消息中间件,具有百亿级tps的吞吐量,在数据采集、传输、存储的过程中发挥着作用 二:为什么要使用消息队列 一个普通访问量的接口和一个大并发的接口,它们背后的…...
【Amazon】安装卸载AWS CLI操作流程(Windows 、Linux系统)
AWS 命令行界面(AWS CLI)是用于管理 AWS 产品的统一工具。只需要下载和配置一个工具,您就可以使用命令行控制多个 AWS 产品并利用脚本来自动执行这些服务。 AWS CLI v2 提供了多项新功能,包括改进的安装程序、新的配置选项&#…...
Django同时连接多种数据库
我的使用场景需要同时连接达梦数据库和MYSQL数据库,有的功能需要查询达梦,有的功能则需要查询MYSQL。 第一步:在 Django 的 settings.py 文件中,配置多个数据库连接。你可以在 DATABASES 字典中添加多个数据库配置。每个数据库配置…...
【链表之练习题】
文章目录 翻转链表找到链表的中间节点返回倒数第k个节点合并两个有序链表判断链表是否回文注意 翻转链表 //反转链表//实质上是把每一个节点头插法,原本第一个节点变成最后一个节点public ListNode reverseList(){//链表为空if (head null){return null;}//链表只有一个节点if…...
情感对话机器人的任务体系
人类在处理对话中的情感时,需要先根据对话场景中的蛛丝马迹判断出对方的情感,继而根据对话的主题等信息思考自身用什么情感进行回复,最后结合推理出的情感形成恰当的回复。受人类处理情感对话的启发,情感对话机器人需要完成以下几…...
【笔记 Pytorch 08】深度学习模板 (未完)
文章目录 一、声明二、工程结构三、文件内容main.pymodel.pydataset.pyutils.py 四、问题汇总 一、声明 非常感谢这些资料的作者: 【参考1】、【PyTorch速成教程 (by Sung Kim)】 二、工程结构 ├── main.py:实现训练 (train) 、验证(validation)和…...
【如何学习Python自动化测试】—— Cookie 处理
前提 网络通信是当今社会最为普及和繁荣的技术之一,其承载了人们生活中瞬息万变的信息传递和交流。而作为网络通信的核心要素,网络协议、socket、cookie和session则是网络通信的灵魂。 一、网络协议 网络协议是计算机和网络设备之间相互通信的规则和标准…...
IOS+Appium+Python自动化全实战教程
由于公司的产品坐落于不同的平台,如ios、mac、Android、windows、web。因此每次有新需求的时候,开发结束后,留给测试的时间也不多。此外,一些新的功能实现,偶尔会影响其他的模块功能正常的使用。 网上的ios自动化方面的…...
华硕灵耀XPro(UX7602ZM)原装Win11系统恢复安装教程方法
华硕灵耀XPro(UX7602ZM)原装Win11系统恢复安装教程方法: 第一步:需要自备华硕6个底包工厂安装包(EDN.KIT.OFS.SWP.HDI.TLK)或者自己备份的iso/esd/wim等镜像恢复 支持系列: 灵耀系列原装系统 无畏系列原装系统 枪…...
SpringBoot整合Redis,redis连接池和RedisTemplate序列化
SpringBoot整合Redis 1、SpringBoot整合redis1.1 pom.xml1.2 application.yml1.3 配置类RedisConfig,实现RedisTemplate序列化1.4 代码测试 2、SpringBoot整合redis几个疑问?2.1、Redis 连接池讲解2.2、RedisTemplate和StringRedisTemplate 3、RedisTemp…...
学习课题:逐步构建开发播放器【QT5 + FFmpeg6 + SDL2】
目录 一、播放器开发(一):播放器组成大致结构与代码流程设计 二、播放器开发(二):了解FFmpeg与SDL常用对象和函数 三、播放器开发(三):FFmpeg与SDL环境配置 四、播放器开发(四):多线程解复用与解码模块实现 五、播放器开发(五…...
Linux 6.7全面改进x86 CPU微码加载方式
导读最近,社区在清理 Linux 上的 Intel/AMD x86 CPU 微代码加载方面做了大量的工作,这些工作现已合并到 Linux 6.7 中。 由于在启动时加载 CPU 微代码对于减少不断出现的新 CPU 安全漏洞以及有时解决功能问题非常重要,Thomas Gleixner 最近开…...
【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用
使用fastapi的时候,swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有时候无法加载(国内环境原因或者是局域网屏蔽),此时就需要自己用魔法下载好对应文件,然后替换到fastapi里面去。 fastapi里面依靠这…...
算法-中等-链表-两数相加
记录一下算法题的学习11 两数相加 题目:给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字…...
STC单片机选择外部晶振烧录程序无法切换回内部晶振导致单片机不能使用
STC单片机选择外部晶振烧录程序无法切换回内部晶振导致单片机不能使用 1.概述 在学习51单片机过程中,选择了STC的12C2052AD型号单片机作为入门芯片。前几个课题实验使用默认的内部晶振烧录程序,运行都没有问题。 选择一个LED亮度渐变的课题做实验&…...
使用STM32+SPI Flash模拟U盘
试验目的:使用STM32F103C8T6 SPI Flash(WSQ16)实现模拟U盘的功能 SPI Flash读写说明: Step1 设置SPI1 用于读取SPI Flash; Step2:设置SPI Flash 的使能信号 Step3:使能USB通信 Step4…...
【自主探索】基于 frontier_exploration 的单个机器人自主探索建图
文章目录 一、概述1、功能2、要求 二、使用方法1、用于运行演示2、用于开发人员2.1. 探索无/地图数据2.2. 使用 /map 数据进行探索 三、提供的组件1、explore_client1.1. 调用的操作1.2. 订阅主题1.3. 发布主题 2、explore_server2.1. 提供的操作2.2. 调用的操作2.3. 调用的服务…...
模板初阶(1):函数模板,类模板
一、函数模板 1.1 概念 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。 格式: template <typename T>或template <class T> template <class T>…...
AIGC: 关于ChatGPT中生成输出表格/表情/图片/图表这些非文本的方式
ChatGPT 不止是 文本输出 ChatGPT是一个文本模型, 它本身并不能直接去生成图片图表等内容在我们的工作当中,经常需要通过表格, 图表的方式去进行数据的处理和展示在这种情况下,GPT由于不支持去直接的生成图片和图表,我们还能够使用它的GPT帮…...
gen_arrow_contour_xld
area_center (SymbolRegions, Area, Row, Col) gen_arrow_contour_xld (Arrow, Row sin(rad(Orientation)) * 70, Col - cos(rad(Orientation)) * 70, Row - sin(rad(Orientation)) * 70, Col cos(rad(Orientation)) * 70, 25, 25) gray_range_rect:用一个矩形…...
实战复盘:我是如何用Passware Kit Forensic从离线Windows注册表里挖出NAS密码的(附详细步骤)
数字取证实战:从离线Windows注册表提取NAS密码的完整技术路径 取证分析中,密码提取往往是突破案件的关键环节。去年参加盘古石杯竞赛时,我遇到一个典型场景:需要从一台被查封的Windows主机镜像中提取本地用户密码,并进…...
仅限三级医院DevOps团队内部流通:Docker医疗调试禁忌清单(含17个导致HIPAA审计失败的配置雷区)
第一章:Docker医疗调试的合规性前提与审计红线在医疗信息系统中使用 Docker 进行调试前,必须满足《中华人民共和国数据安全法》《个人信息保护法》及《医疗卫生机构网络安全管理办法》对健康医疗数据的全生命周期管控要求。容器环境不得绕过医院已部署的…...
Foundation Magellan 怎么用?
如何创建麦哲伦导航 麦哲伦导航就是一个导航索引,创建方式如下: 实例 <div data-magellan-expedition"fixed"> <dl class"sub-nav"> <dd data-magellan-arrival"page1"><a href"#page1">…...
从轴承润滑到代码实现:手把手教你用Python FDM求解稳态雷诺方程
从轴承润滑到代码实现:用Python FDM求解稳态雷诺方程的工程实践 滑动轴承的润滑性能直接影响旋转机械的寿命与效率。想象一下,你正在设计一台高速涡轮机,轴承的油膜压力分布直接决定了设备能否稳定运行。传统方法依赖昂贵的商业仿真软件&…...
联想小新Air14 AMD版装Ubuntu 20.04,升级内核到5.11后触控板和亮度都正常了
联想小新Air14 AMD版Ubuntu 20.04内核升级实战指南 去年夏天入手联想小新Air14 AMD版(Ryzen 5500U)后,我迫不及待地给它装上了Ubuntu 20.04,结果发现触控板完全没反应,屏幕亮度也无法调节——这简直让这台新笔记本变成…...
BuilderBench:智能体物理交互学习的革新基准测试
1. 智能体交互学习的新挑战与BuilderBench的诞生在当今AI领域,我们正面临一个根本性矛盾:大语言模型在文本生成和模式识别方面表现出色,但它们的学习方式本质上仍是对人类已有知识的模仿和精炼。这种"鹦鹉学舌"式的学习在面对需要创…...
Mos:3分钟彻底解决Mac鼠标滚动卡顿的终极平滑滚动方案
Mos:3分钟彻底解决Mac鼠标滚动卡顿的终极平滑滚动方案 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently f…...
Xftp 7不只是传文件:挖掘同步、直接编辑与图像预览这些被低估的高效功能
Xftp 7高阶技巧:解锁专业用户才知道的远程文件管理方案 当大多数用户还在用Xftp 7进行基础文件传输时,真正的效率高手已经将这套工具玩出了新花样。想象一下:前端设计师无需下载就能快速预览服务器上的图片素材,运维工程师直接在V…...
智能诊疗助手:用AI重新定义中医咨询体验
智能诊疗助手:用AI重新定义中医咨询体验 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chinese Medicine large languag…...
