初识消息队列

简介:

wKiom1gvHqeSrGAEAAGgZ8qZQ04755.png

wKioL1gvHqiBGlgOAAK5paYkncU276.png

wKiom1gvHqnixTUAAAFvDp5SxlI466.png

一对一

wKiom1gvHqvDhMA6AASCvZtE4Hg409.png

点对点模型特性:消息只有在处理成功后才会删除,失败时不会删除,这样下次取时,队列中还会有

wKioL1gvHqzjASRYAAJ0mXH27zA140.png


wKiom1gvHq_g7sn5AAWuA9dGR6M629.png

发布-订阅模型特性(3、可以理解为过期时间)

wKioL1gvHrCRqE88AAHW_FQpO28620.png

发布订阅模型(3非持久订阅:保持长链接-——持久订阅:消费者产生的消息,会把消息存在消息中间件中,当消费者宕机后,消息中间件会不停的向消费者发送信息,直到成功接收)

wKiom1gvHrHBXDpFAALoxNhZ4xs053.png

交易系统,对实时性较高,所以用推的方式。

wKioL1gvHrLTr2pFAAKyNAsFLmM628.png

延迟消息发送和暂存(通过tcp-copy方式复制一份消息队列,复制出的消息队列先不释放,暂存队列中,可以很好的模拟用户并发,再一次性释放出来)pull较好

wKiom1gvHrPxTlkgAAJlG31G7h4911.png

11、消息广播(例:消费者购物,商品价格为100,突然有一天,变为105,但消费者看到的依然是100,这时便会出现数据不一致,可以用消息中间件来解决,给消费者(cache)缓存数据同步更新来解决【但还有一种情况,消息中间件给cache同步时,同步较慢(正好赶上数据同步),一刷100,再一刷105的情况,但最终是105,可以用租约的方式去解决。给每个数据加一个时间戳,数据在某一时间会过期,当然必须保证服务器时间是同步的】对实时性要求较高,所以用推较好pull

wKioL1gvHrSDRO19AAHD0YcOPfQ104.png

wKioL1gvHrWA6W9YAAOX2jxpxR4856.png

消息中间件分类(发布订阅用的push较多一些,(立马同步到消费者(实时性比较高)pull 更多适用于点对点模型)

wKiom1gvHrbweY_TAAFBgZGn3ec765.png

14、数据复制立案----对时间的限制对比是用pull还是用push

wKiom1gvHrfyvEBzAAIh5FjaUEs229.png

metaq(根据磁盘顺序来写,典型pull模型)

wKioL1gvHrjQgx9bAAFfBoUiEws275.png

wKiom1gvHrqDnCmmAATsJK8WTf8821.png

wKioL1gvHrui8WuoAAE4dVxjPLg129.png

1、topic:可看作队列的名字

2、offset:偏移,主要对消费者使用,给消费者使用,消费者存在的偏移,就是在消息中间件中的一个起始位置。

3、broker:存储消息的一个点

4、依次定位,减少磁盘寻道时间。

wKiom1gvHr3zOxVRAAN5m_ucNeA646.png

wKioL1gvHr6yEyKGAAJV5IqSdk0296.png

wKioL1gvHsDxiCdmAAPUQ861948864.png

wKiom1gvHsCjCe-NAAFitPchWjo590.png

wKioL1gvHsGTP1LAAAGPKwhq6kM435.png

wKiom1gvHsLiSOnvAAD7s-ZcOto529.png

本文转自silence博客51CTO博客,原文链接http://blog.51cto.com/silencezone/1874475如需转载请自行联系原作者


a120518129

相关文章
|
存储 数据安全/隐私保护
忘记被浏览器记住的密码如何找回,如何查看浏览器保存的密码?
现在很多网站都需要注册账号和密码,由于数量众多,每个网站的账号不通用,所有我们经常会用浏览器记录密码功能记住密码,但时间一长就会忘记密码,想换个浏览器登陆或其他原因无法直接查看到密码,下面有2种查看密码的方法仅供参考。
忘记被浏览器记住的密码如何找回,如何查看浏览器保存的密码?
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课13 单机版转换为集群版
本文介绍如何将“本地存储实例”转换为“共享存储实例”,依赖于先前搭建的实验环境。主要步骤包括:准备PFS二进制文件、格式化共享盘为pfs文件系统、启动pfsd服务、停库并拷贝数据到pfs内、修改配置文件,最后启动实例。通过这些操作,成功实现了从本地存储到共享存储的转换,并验证了新实例的功能。相关系列文章和视频链接提供了更多背景信息和技术细节。
447 0
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
1134 11
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
API 容器
【HarmonyOS Next开发】Navigation使用
Navigation是路由容器组件,包括单栏(Stack)、分栏(Split)和自适应(Auto)三种显示模式。适用于模块内和跨模块的路由切换。 在页面跳转时,应该使用页面路由router,在页面内的页面跳转时,建议使用Navigation达到更好的转场动效场景。
931 8
【HarmonyOS Next开发】Navigation使用
|
存储 安全 搜索推荐
c#集合_键值对Dictionary & SortedList
在 C# 中,键值对是一种常见的数据结构,可以使用不同的集合类实现。以下是常用的键值对集合类::一种使用哈希表实现的键值对集合。它通过将键哈希为桶号,然后将值存储在桶中进行快速查找。:一种基于数组实现的键值对集合。它会将键值对按照键排序并存储在数组中,以支持快速访问、查找和枚举。:一种使用红黑树实现的键值对集合。它能够按照键的排序进行快速查找,也可以快速地插入和删除键值对,并且该树具备自平衡的特性,使得插入、删除和搜索性能都非常优秀。
726 1
|
存储 缓存 运维
一致性哈希算法的缺点是什么?
【10月更文挑战第25天】虽然一致性哈希算法具有一些优点,如在节点变化时数据迁移量相对较小等,但也存在数据倾斜、虚拟节点复杂、节点数量少性能受限、数据迁移代价以及哈希函数选择等多方面的缺点。在实际应用中,需要根据具体的业务场景和系统需求,综合考虑这些因素,采取相应的优化措施来克服其缺点,充分发挥一致性哈希算法的优势。
|
前端开发 JavaScript 编译器
不走弯路,纯前端如何把图片导出成视频!
【10月更文挑战第3天】不走弯路,纯前端如何把图片导出成视频!
1155 3
|
机器学习/深度学习 人工智能 搜索推荐
深度学习在医疗影像诊断中的应用与前景####
本文深入探讨了深度学习技术在医疗影像诊断领域的应用现状、面临的挑战以及未来发展趋势。通过分析卷积神经网络(CNN)等深度学习模型在处理复杂医学图像时的优势,结合具体案例,如癌症早期检测、疾病分类及分割等方面取得的显著成果,展示了深度学习如何革新传统医疗影像分析方法。同时,文章也指出了数据隐私保护、模型解释性不足、临床集成难度大等问题,并展望了联邦学习、可解释AI、多模态融合等技术在解决这些问题上的潜力,为推动深度学习在医疗健康领域的更广泛应用提供了思路。 ####
938 0
|
机器学习/深度学习 人工智能 自动驾驶
IJCV 亚洲之夜,机器之心与CV领域顶级期刊首位华人主编汤晓鸥聊了聊
CVPR(计算机视觉与模式识别会议)是计算机视觉领域的三大顶级会议之一,它的举办让七月的火奴鲁鲁更加热情似火。
1745 0
IJCV 亚洲之夜,机器之心与CV领域顶级期刊首位华人主编汤晓鸥聊了聊