当前位置:网站首页>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
边栏推荐
- MySQL8.0升级的踩坑历险记
- Prevent SQL injection in web projects
- On lambda powertools typescript
- qt5.8 64 位静态库中想使用sqlite但静态库没有编译支持库的方法
- PDMS soft lithography process
- 解决 『SunCertPathBuilderException:unable to find valid certification path to requested target』 问题
- Summary of the relationship among GPU, CUDA and cudnn
- 语雀文档编辑器将开源:始于但不止于Markdown
- Use of SVN:
- Database management software sqlpro for SQLite for Mac 2022.30
猜你喜欢

Use of SVN:

解读机器人创造出来的艺术

Excel·VBA自定义函数获取单元格多数值

qt5. 8. You want to use SQLite in the 64 bit static library, but the static library has no method to compile the supporting library

qt 64位静态版本显示gif

R-Drop:更强大的Dropout正则方法

解析幼儿教育中steam教育的融合

系统编程之高级文件IO(十三)——IO多路复用-select

SVN的使用:

Using Baidu PaddlePaddle EasyDL to accomplish specified target recognition
随机推荐
Structure of C language (Advanced)
Detailed explanation of MySQL creation stored procedure and function
解决 『SunCertPathBuilderException:unable to find valid certification path to requested target』 问题
Who said you should know PS? This open-source artifact can also be pulled in batch, and the effect is outstanding!
年度最尴尬的社死瞬间,是Siri给的
一道有趣的阿里面试题
Summary of the relationship among GPU, CUDA and cudnn
解析性能良好的机器人使用守则
More reliable model art than deep learning
Detailed explanation of integer data type tinyint in MySQL
QT信号量 无法解析的错误的总结
stylecloud ,wordcloud 库学习及使用例子
qt 64位静态版本显示gif
mysql中整数数据类型tinyint详解
解读机器人编程课程的生物认知度
Mysql database transaction example tutorial
PDMS soft lithography process
laravel编写Console脚本
Cumcm 2021 - B: préparation d'oléfines C4 par couplage éthanol (2)
Oracle连通性测试小工具