一、为什么须要音讯队列 (MQ)
次要起因是因为在高并发环境下,同步申请来不及解决,申请往往会产生阻塞。大量的申请达到拜访数据库,导致行锁表锁,最初申请线程会沉积过多,从而触发 too many connection 谬误,引发雪崩效应。咱们应用音讯队列,通过异步解决申请,从而缓解零碎的压力。外围:异步解决、流量削峰、利用解耦
二、利用场景
异步解决,流量削峰,利用解耦,音讯通信四个场景
异步解决
流量削峰
利用解耦
音讯通信
在音讯通信中次要有两种模式,也就是音讯队列的两种音讯模式
点对点模式
公布订阅模式
三、掂量指标
咱们从服务性能、数据存储、集群构造三个方面去比照,抉择适宜本人我的项目的消息中间件
这个中央只能截图,所以不是很清晰,
而音讯队列这方面,这是最罕用的一些技术,而除这些之外,晚期支流的消息中间件,包含 ZeroMQ 在内,尽管 API 丰盛,自身很成熟,然而在高并发、大数据环境下的性能不够杰出,次要实用于中小型我的项目,有较低的概率失落数据,最次要是的,官网当初保护的频率始终在升高,好几个月才公布一个版本。所以个别用在长期保护的我的项目中
下面这些图谱可能有点看不清楚,没关系,分明的来了
须要这份 xmind 图的,关注 + 转发后,私信“材料”即可查看获取形式
那对于这些比拟新的技术该怎么筹备呢?给大家举荐一份材料,联结下面的思维导图同步进行学习
目录
为什么要用音讯队列
音讯协定
RabbitMQ
ActiveMQ
kAFKA
RocketMQ
关注公众号:Java 架构师联盟,每日更新技术好文
局部材料曾经上传到我的 git 仓库中:有须要的能够下载
https://gitee.com/biwangsheng/mxq