栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

1、Rabbitmq安装和介绍

1、Rabbitmq安装和介绍

目录
  • 安装
  • 概念介绍
  • 交换器类型
      • direct
      • topic

Rabbitmq需要Erlang环境,如果单独安装,首先需要安装该环境,本系列采用 Docker安装 环境安装和介绍。

安装
# 查找存储库
docker search rabbitmq
# 输出(本系列使用的这个)
NAME     DEscriptION                                     STARS     OFFICIAL AUTOMATED
rabbitmq RabbitMQ is an open source multi-protocol me…   4110      [OK]       
# 下载并运行
docker run -it -p 15672:15672 -p 5672:5672 rabbitmq /bin/bash
# 启用web管理插件,这样就可以使用 ip:15672来访问web管理端了(见下图),账号密码相同:guest
rabbitmq-plugins enable rabbitmq_management

# 开放端口号
firewall-cmd --add-port=15672/tcp --permanent --zone=public
firewall-cmd --reload

概念介绍

首先看下模型框架图:

  • Producer:生产者,就是发送消息的一方
  • Consumer:消费者,就是接收消息的一方
  • Broker:消息服务
  • Exchange:交换器,引导消息投递到哪个队列中
  • Queue:队列,消息存储的地方
  • 消息一般包括2部分:消息体(payload)和标签(label),label用来描述该消息,比如交换器的名称和路由键,payload才是真正的消息体。
  • 绑定到同一队列的消费者,会轮询消费消息,不是广播的形式,广播模式需要单独二次开发。
交换器类型

一共6种,常用的有3种:

  • fanout:把消息路由到所有绑定到该交换器的队列中,无视BindingKey。
  • direct:把消息路由到BindingKey和RoutingKey完全一致的队列中
  • topic:采用模糊匹配,以点(.)分割单词为key值,支持两个特殊字符串,#匹配0-n个单词,*匹配1个单词。
  • headers:不常用
  • system:不常用
  • custom:不常用
  • BindingKey:把交换器和队列绑定起来
  • RoutingKey:生产者发送消息时需要指定该key,BindingKey和RoutingKey匹配时,消息会发送到对应的队列中
direct


如果在发送消息的时候设置路由键为" info" 或者"debug",消息 只会路由到Queue2 。 如果以其他的路由键发送消息,则消息不会路由到这两个队列中。

topic

  • 路由键为" com.rabbitmq.client" 的消息会同时路由到 Queuel 和 Queue2
  • 路由键为" com.hidden.client" 的消息只会路由到 Queue2 中
  • 路由键为" com.hidden.demo" 的消息只会路由到 Queue2 中
  • 路由键为"java.rabbitmq.demo" 的消息只会路由到 Queuel 中
  • 路由键为" java.util.concurrent" 的消息将会被丢弃或者返回给生产者(需要设置mandatory 参数) ,因为它没有匹配任何路由键
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号