MQ队列
2022-02-20 17:30:49 4 举报
AI智能生成
MQ队列的组件特性介绍
作者其他创作
大纲/内容
activeMq
队列,老项目一般会用到,存在一些消息丢失延迟等问题。吞吐量100
rebbitMq
针对队列来说 是MQS推送消息,吞吐量1000
特性
特性:1.erlang语言(对于吞吐量有优势)实现AMQP协议的中间件,只要实现AMQP协议就可以和rebbit对接,所以支持多语言。
2.消息可靠性(消息可以持久化,有确认机制)
3.灵活的消息路由
4.有一个操作简单的管理页面
5.有插件机制
2.消息可靠性(消息可以持久化,有确认机制)
3.灵活的消息路由
4.有一个操作简单的管理页面
5.有插件机制
核心组件
producer->connection->channel->routing key->broker(virtual host(exchange->binding key->queue))->channel->connection->consume
交换器种类
直连交换器:路由key和绑定key精确匹配
主题交换器:支持模糊匹配,*代表0/1个单词,#代表0/多个单词,用·代表单词分隔符
广播交换器:链接此交换器的队列都可以收到消息
延迟队列
死信
概念
1.消费者拒绝消费的消息
2.TTL已过的消息
3.消息加入队列时,队列已经满的消息
2.TTL已过的消息
3.消息加入队列时,队列已经满的消息
处理
存在死信消息的队列必须绑定死信交换机(主题交换机)才能进入下一步处理,否则就丢弃
队列里面的消息设置了超时时间(可以发送端设置也可以队列设置,以时间最少的为准),时间到了就会由死信交换机进入另外的队列进行其它操作
rockerMq
队列,起源于kafka,针对队列来说 是消费者拉取消息,吞吐量6000
场景:
0.异步发送过来的消息在满足可以返回状态的前提下可以马上返回状态,
而不用去关注接下来的一系列操作
1.解耦(A系统和B系统实现流程互不影响)
2.削峰(一大堆消息突然到达,可以存放到队列,由消费端慢慢消费)
3.事务最终一致性(生产者发送消息给MQS,(生产者二次确认超时之后MQS会回测确认)MQS确认消息,告诉生产者
生产者执行自己的任务(更新用户余额),执行成功返回MQScommit或者rollback,commit的话,消费者去执行消息,更新商户余额,rollback则不消费)
0.异步发送过来的消息在满足可以返回状态的前提下可以马上返回状态,
而不用去关注接下来的一系列操作
1.解耦(A系统和B系统实现流程互不影响)
2.削峰(一大堆消息突然到达,可以存放到队列,由消费端慢慢消费)
3.事务最终一致性(生产者发送消息给MQS,(生产者二次确认超时之后MQS会回测确认)MQS确认消息,告诉生产者
生产者执行自己的任务(更新用户余额),执行成功返回MQScommit或者rollback,commit的话,消费者去执行消息,更新商户余额,rollback则不消费)
kafka
流式消息,针对队列来说 是消费者拉取消息,用了0拷贝,减少了用户态io和内核态io的步骤流程,
但是消息的可靠性和丢失重复,没有严格的要求。吞吐量10000
但是消息的可靠性和丢失重复,没有严格的要求。吞吐量10000
0 条评论
下一页