总结
豆包 AI 助手文章总结

什么是RabbitMQ?RabbitMQ的简单介绍

青灯夜游
发布: 2019-03-28 14:08:53
转载
5599人浏览过

本篇文章带来的内容是介绍rabbitmq,让大家了解一些rabbitmq的相关知识。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

RabbitMQ概览

RabbitMQ是一个高性能的分布式消息中间件。它由Erlang编写,这种语言天生支持分布式,而且性能极高(但是比较难上手)。

通信概念

RabbitMQ简单理解就是一个队列服务,我们的生产者不断地往它投递消息,而消费者不断地从它那里获取消息。但相较于利用redis的List这类简单队列,RabbitMQ的消息投递更灵活一点。首先需要知道一些RabbitMQ中的通信概念:

 ● exchange(交换器)

 ● queue(队列):消息队列载体,每个消息都会被投入到一个或多个队列。

 ● binding(绑定):它的作用就是把exchange和queue按照路由规则绑定起来。

 ● routing key(路由关键字):exchange根据这个关键字进行消息投递。

 ● vhost(虚拟主机):不同的vhost下,数据完全隔离,默认vhost为“/”

 ● channel(信道):在一个tcp连接下,可建立多个channel,每个channel代表一个会话任务。

 ● producer(生产者)

 ● consumer(消费者)

RabbitMQ中Exchange类似于一个路由器,我们的consumer并不会把消息直接投递给队列,而是投递给exchange,exchange根据我们投递时的路由键(routing key)再发送到特定的队列。这样的设计让消息可以灵活选路,发送到某一类的队列中,形成一对多的关系,而不仅仅是一对一。

Exchange

所以说RabbitMQ中的exchange很方便,很强大,它有这样几种类型:

 ● direct

 ● fanout

 ● topic

 ● headers(几乎用不到)

direct交换器很简单,有时候我们仅仅需要一个很简单的队列(消息投递到其中,然后不断消费它),这时候我们就可以用direct交换器,它的规则是:如果路由键匹配,消息就会被投递到对应的队列。

1.png

fanout交换器忽略路由键,把消息同时发到一批队列。

2.png

topic则就是根据不同路由键,把消息发送到某一类队列中。

3.png

相关视频教程推荐:《PHP教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上就是什么是RabbitMQ?RabbitMQ的简单介绍的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:segmentfault 思否网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号