当前位置:网站首页>RebbitMQ的初步了解
RebbitMQ的初步了解
2022-04-23 11:20:00 【黄昏后的田野】
RebbitMQ的初步了解
消息队列有哪些作用
1 解藕:使用消息队列来作为两个系統的通讯方式,两个系统不需要相互依赖了 2.异步:系统A给消费队列发送完消息之后,就可以继续做其他事情了
3. 流量削峰:如果使用消息队列的方式来调用某个系統,那么消息将在队列中排队,有消费者自己控制消费速度
死信队列是什么?延时队列是什么?
- 死信队列也是一个消息队列,它是用来存放那些没有成功消费的消息的,通常可以用来作为消息重试
2.延时队列就是用来存放需要在指定时间被处理的元素的队列,通常可以用来处理一些具有过期性操作的业务,比如十分钟内 未支付则取消订单
Kafka为什么比RocketMQ的吞吐量要高
Kafka的生产者采用的是异步发送消息机制,当发送一条消息时,消息并没有发送到Broker而是缓存起来,然后直接向业务返回成 功,当缓存的消息达到一定数量时再批量发送给Broker。这种做法减少了网络io,从而提高了消息发送的吞吐量,但是如果消息 生产者宕机,会号致消息丢失,业务出错,所以理论上kafka利用此机制提高了性能却降低了可靠性。
如何保证消息的高效读写?
零拷贝:kafka和RocketMQ都是通过零拷贝技术来优化文件读写。
传统文件复制方式:需要对文件在内存中进行四次拷贝。

零拷贝:有两种方式,mmap和transfile (通过映射直接完成读写 减少两次拷贝)


Mmap 适合比较小的文件,通常文件大小不要超过1.5G ~2G之间。
Transfile没有文件大小限制。
RocketMQ当中使用Mmap方式来对他的文件进行读写。commitlog每次初始化空间1G
在kafka当中,他的index日志文件也是通过mmap的方式来读写的。在其他日志文件当中,并没有使用零拷贝的方式。
kafka使用transfile方式将硬盘数据加载到网卡。
版权声明
本文为[黄昏后的田野]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_50593634/article/details/124270444
边栏推荐
猜你喜欢

MIT: label every pixel in the world with unsupervised! Humans: no more 800 hours for an hour of video

Excel · VBA array bubble sorting function

Summary of the relationship among GPU, CUDA and cudnn

Go interface usage

Cygwin 中的 rename 用法

赛微微电科创板上市破发:跌幅达26% 公司市值44亿

得物技术网络优化-CDN资源请求优化实践

CUMCM 2021-b: preparation of C4 olefins by ethanol coupling (2)

微型机器人的认知和研发技术

PDMS软光刻加工过程
随机推荐
MIT: label every pixel in the world with unsupervised! Humans: no more 800 hours for an hour of video
nacos基础(8):登录管理
卷积层和池化层总结
谁说抠图要会 PS?这个开源神器还能批量抠,效果拔群!
When the activity is in progress! Click the link to join the live studio to participate in "can AI really save energy?" Let's have a discussion!
实践数据湖iceberg 第三十课 mysql->iceberg,不同客户端有时区问题
探究机器人教育的器材与教学
CUMCM 2021-B:乙醇偶合制備C4烯烴(2)
Microsoft Access database using PHP PDO ODBC sample
Oracle连通性测试小工具
创客教育中的统筹方案管理模式
2022爱分析· 工业互联网厂商全景报告
Mysql8.0安装指南
Learn go language 0x03: understand the dependency between variables and initialization order
Who said you should know PS? This open-source artifact can also be pulled in batch, and the effect is outstanding!
少儿编程结构的改变之路
Prevent SQL injection in web projects
GPU, CUDA,cuDNN三者的關系總結
语雀文档编辑器将开源:始于但不止于Markdown
学习 Go 语言 0x04:《Go 语言之旅》中切片的练习题代码