关于消息队列

每次讲到这里,因为种种原因,没有在实践中运用过,每次看到都只是匆匆而过。这次想写点自己的理解。

message queue  先入先出的队列。

它的由来,使用:在多线程间,多进程间,如何异步完成一件事,需要一个中间物质的存在,它可以延迟,但需要可靠。

常常听到的有 kafka ,activeMQ,rabbitMQ

今天看了一篇博客让我对它有一次认识了一次

首先对于,任何一个产物的诞生,就相应的伴随着它的术语产出。所以必须对基础的概念,以及他们的关系做个了解。然后再去考虑它的存在是为了解决什么事情而存在。

那下面先对基础概念,写下自我理解

参考:https://blog.csdn.net/hellozpc/article/details/81436980

 1 队列: 作用就是存储消息

 2 完成一个消息的发送,消费这2个动作,中间这部分要做的事情就是mq在承担着

3 connection,client, server二者之间要想通信,先间连接,像mysql,redis 这些db产品一样

4 channel:每2者之间的同行,都不会是像mysql一样在一个共用的连接池就可以,而是私密的,需要建立独有的私密通道

5 exchages 交换机。这里是为某种消费需求而引入的。

   如果P,C为一对一的关系就直接发送后,等待消费即可

  如果P会被多个C消费,但P不会因为C多了,而被多次消费,这时只能是C之间的竞争决定消息的去向了

  如果想要P,C为多对多的关系,这时就需要引入mahout了 ,交换机就是在这个时候被引入了:

    细分为3种场景:

    1发布订阅模式(publish/subscribe )  fanout 每个消费者有自己的队列,消息发送先经过交换机,谁的队列和交换机做了绑定就能接收到此交换机流经的消息

    2 路由模式(直连模式)   direct  消息本身有某个key标识,消费者可据此决定要不要消费

    3 主题模式(用的多)topic  消息发送时就标识了topic,是key的通配符表达方式

总之,有了交换机,无论是消费者,还是生产者,消息的传送变得更加多样,满足了不同人的按需索取

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值