rabbitMq介绍(一)

RabbitMQ是一个消息中间件。

consumer:消息的消费者

producer:消息的生产者

exchange:是生产者向里面放消息

queue:消费者从里面拿消息。

binds:exchange和queue的绑定关系。

RabbitMQ可以看作一种投递服务,生产者生产消息后,发送给mq。那么消息是什么?

包括两部分内容:有效载荷(payload)和标签(label),有效载荷就是你想要传输的数据,它可以是任何内容,一个Json数组,或者一个map。标签是mq用来决定是谁将获得这些消息的拷贝,不同于TCP的是,当你明确发送发和接收方时,AMQP只会用标签表述这条消息(一个交换器的名称和可选的主题标记),然后把消息交给Rabbit。Rabbit会根据标签把消息发送给感兴趣的接收方。这种通信方式时一种”发后即忘“的单向方式。

消费者接受消息时,它只会得到消息的一部分:有效载荷,在消息路由过程中,消息的标签并没有随有效载荷一同传递,Rabbit不会告诉你是谁生产/发送了消息。当然有可能在有效载荷中带入了发送者的消息。

整个过程很简单:生产者创建消息,消费者接收消息,二者建立连接,是通过一条信道。

什么是信道?

必须首先连接到Rabbti,才能发送和消费消息。你在应用程序和Rabbit代理服务器之间创立一条TCP连接,一旦TCP连接打开,应用程序就可以创建一条AMQP信道。信道是建立在”真实“TCP连接内的虚拟连接。AMQP命令都是通过信道发送出去的。为什么不直接通过TCP呢?因为TCP的建立和销毁都是非常昂贵的。线程启动后,会在线程的连接上创建一条信道,不会给TCP栈造成额外的负担。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值