当前位置: 首页 > news >正文

分布式消息队列【笔记】

  • 什么是消息队列
  • 为什么要用分布式消息队列
  • 如何设计消息队列

常见的:ActiveMQ Kafka rocketMQ MetaMQ rabbitMQ zeroMQ

 

为什么要用分布式消息队列

(1)应用解耦,代理业务和设计的扩展性

(2)异步处理

(3)流量削峰

如何设计消息队列

(1)发布订阅的两种模式:push和pull

(2)消息的可靠性:ACK机制

(3)发布者没收到ACK,发布者将消息放进重发队列

(4)消费者已经处理了,也发送ACK了,但发布者没由收到,会重复发送消息,则需要去重处理:去重表、

(5)消息的存储:a.存在内存;b.存在硬盘     可靠的方式是持久化存储

(6)消息一致性

(7)消息队列的高可用

(8)消息的顺序性

【参考】

1.https://tech.meituan.com/2016/07/01/mq-design.html

2.https://blog.csdn.net/jiangyu1013/article/details/81450764

3.http://www.cnblogs.com/itfly8/p/5155983.html

相关文章:

  • 设计模式之---【发布订阅模式】
  • 设计模式之---【工厂模式】
  • 理解Epoll
  • 虚拟机ubantu18.04与Windows7共享文件夹(samba)
  • win10 “你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。”
  • 安装lua报错:fatal error: readline/readline.h: No such file or directory
  • 【重学Linux系列(一)之一一Linux命令】
  • C盘突然满了,找了好几天。。。
  • ubantu18.04server配置IP
  • int与CString互转
  • error LNK2019: unresolved external symbol
  • 对话框在DLL中DoModal()返回-1?
  • Linux系统网络I/O模型
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • error LNK2001: unresolved external symbol __declspec(dllimport) const XXXX::`vftable'
  • “大数据应用场景”之隔壁老王(连载四)
  • 03Go 类型总结
  • gcc介绍及安装
  • JavaScript的使用你知道几种?(上)
  • Java反射-动态类加载和重新加载
  • laravel 用artisan创建自己的模板
  • leetcode讲解--894. All Possible Full Binary Trees
  • Node 版本管理
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Spring Boot快速入门(一):Hello Spring Boot
  • Spring框架之我见(三)——IOC、AOP
  • vue-cli在webpack的配置文件探究
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 服务器之间,相同帐号,实现免密钥登录
  • 给Prometheus造假数据的方法
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 如何解决微信端直接跳WAP端
  • 时间复杂度与空间复杂度分析
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 手写双向链表LinkedList的几个常用功能
  • 突破自己的技术思维
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 数论-逆元
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #宝哥教你#查看jquery绑定的事件函数
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $jQuery 重写Alert样式方法
  • (LeetCode C++)盛最多水的容器
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)换源+apt-get基础配置+搜狗拼音
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .Net 中Partitioner static与dynamic的性能对比
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @Documented注解的作用
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka