查看“RabbitMQ:核心概念”的源代码
←
RabbitMQ:核心概念
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:RabbitMQ]] == 关于 == : [[File:RabbitMQ:概念示意图.png|600px]] 其中: * '''Message''': *: 消息,包含消息头(即附属的配置信息)和消息体(即消息内容)。 * '''Publisher''': *: 消息的生产者,是一个向交换器发布消息的客户端应用程序。 * '''Exchange''': *: 交换器,用来接收生产者发送的消息并且将这些消息路由给服务器中的队列。 ** 四种Exchange类型: **# '''Direct''' 类型:将消息中的 Routing key 与该 Exchange 关联的所有 Binding 中的 Routing key进行比较,如果相等,则发送到该 Binding 对应的 Queue 中 **# '''Topic''' 类型:将消息中的 Routing key 与该 Exchange 关联的所有 Binding 中的 Routing key进行对比,如果匹配上了,则发送到该 Binding 对应的 Queue 中。 **# '''Fanout''' 类型:直接将消息转发到所有 binding 的对应 queue 中,这种 exchange 在路由转发的时候,忽略 Routing key。 **# '''Headers''' 类型:将消息中的 headers 与该 Exchange 相关联的所有 Binging 中的参数进行匹配,如果匹配上了,则发送到该 Binding 对应的 Queue 中(不常用,作用于 Direct 类型类似)。 * '''Binding''': *: 绑定关系,用于建立消息队列和交换器之间的关系。 * '''Queue''': *: 消息队列,用来保存消息直到发送给消费者,他是消息的容器,也是消息的终点。 ** '''一个消息可投入一个或者多个队列'''。 ** 消息一直在队列里面,等待消费者连接到这个队列将其取走。 * '''Connection''': *: 网络连接比如tcp连接。 * '''Channel''': *: 信道,信道是建立在真实的TCP连接内地虚拟连接,AMQP命令都是通过信道发出去的,不管是发布消息,订阅队列,还是接受消息,这些动作都是在信道完成的。 ** 因为对于操作系统来说建立和销毁TCP都是非常安昂贵的开销,所以引入信道的概念,以此来'''复用TCP连接'''; * '''Consumer''': *: 消息的消费者,表示一个从消息队列中取得消息的客户端应用程序。 * '''Virtual Host''': *: 虚拟主机,表示一批交换机,消息队列和相关的对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。 ** 每个vhost本质上就是一个mini版的RabbitMQ服务器,拥有自己的队列、交换器、绑定和权限机制; ** vhost是AMQP概念的基础,必须在连接的时候指定,RabbitMQ默认的vhost是“'''/'''”; ** Virtual Host就是一种资源隔离策略,可以在同一个RabbitMQ中划分多个隔离的区域; * '''Broker''': *: 表示消息队列服务器实体。
返回至“
RabbitMQ:核心概念
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息