学习日志之rabbitmq(一)

rabbitmq学习篇

前言

rabbitmq是目前比较火的mq产品,用途广泛。

一、rabbitmq是什么?

rabbitmq是一个基于Erlang语言开发的mq产品。

二、优点

1高可用高并发的优点,适合集群服务器
2开源
3支持多语言
4可以持久化,有消息确认机制,可靠性高

三:缺点

1erlang语言开发不好定制
2吞吐量一般
3消息堆积影响性能

四、rabbitmq介绍

1.虚拟主机 virtual host

虚拟主机t相当于一个迷你的相对独立的rabbitmq服务器,每一个虚拟主机都有AMQP的全套基础组件,并且可以针对每个虚拟主机进行权限以及数据分配,不同虚拟主机之间是隔离的。

2.连接 Connection

客户端与RabbitMQ进行交互,需要建立一个TPC连接,这个连接就是Connection。

3信道channel

客户端与RabbitMQ实际进行数据交互的通道,一旦客户端与RabbitMQ建立了连接,就会分配一个AMQP信道 Channel。每个信道都会被分配一个唯一的ID。不同channel之间互相隔离。RabbitMQ为了减少性能开销,也会在一个Connection中建立多个Channel,这样便于客户端进行多线程连接,
这些连接会复用同一个Connection的TCP通道。

4交换机Exchange

交换机是rabbitmq中进行数据路由的重要组件,消息进入rabbitmq后,会先进入交换机,然后由交换机把数据分发到不同的队列中。不同的交换机支持不同的分发信息策略。每个虚拟主机中,RabbitMQ都会默认创建几个不同类型的交换机。

web管理界面
常用的交换机
1direct Exchange(直接交换机)
匹配路由键,只有完全匹配消息才会被转发
2Fanout Excange(扇形交换机)
将消息发送至所有的队列
3Topic Exchange(主题交换机)
在队列绑定到 top 交换机上的路由key 可以是通过通配符来匹配;
其中 “*” 用于匹配一个单词,“#”用于匹配多个单词
4.Header Exchange
在绑定Exchange和Queue的时候指定一组键值对,header为键,根据请求消息中携带的header进行路由

5队列Queue

队列是实际保存消息的最小单位,队列的特性是先进先出。

6可以参照下图来理解

在这里插入图片描述

五、linux环境下安装rabbitmq

1 安装Erlang语言包

RabbitMQ是基于Erlang语言开发,所以安装前需要安装Erlang语言环境。
需要注意下的是RabbitMQ与ErLang是有版本对应关系的。
3.9.15版本的RabbitMQ只支持23.2以上到24.3版本的Erlang。
Linux上的安装稍微复杂,需要有非常多的依赖包。简单起见,
可以下载rabbitmq提供的zero dependency版本。下载地址 https://github.com/rabbitmq/erlang-rpm/releases
下载完成后,可以尝试使用下面的指令安装:
rpm -ivh erlang-23.2.7-1.el7.x86_64.rpm
在这里插入图片描述
报错需要安装 libcrypto.so.10(OPENSSL_1.0.2)(64bit)
下载地址:https://rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10%28OPENSSL_1.0.2%29%2864bit%29&submit=Search%20…&system=&arch=
在这里插入图片描述

下载最后一个
命令:rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
在这里插入图片描述

然后:在这里插入图片描述

2安装rabbitmq

安装RabbitMQ:RabbitMQ的安装方式有很多,我们采用RPM安装包的方式。安装包可以到github仓库中下载发布包。下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
命令:rpm -Uvh rabbitmq-server-3.9.15-1.el7.noarch.rpm
在这里插入图片描述
安装完成后,可以查看下他的安装情况
命令:whereis rabbitmqctl在这里插入图片描述启动RabbitMQ服务
命令:service rabbitmq-server start
查看服务状态
命令:service rabbitmq-server status
在这里插入图片描述
其他常用的启停操作:
rabbitmq-server -deched
–后台启动服务
rabbitmqctl start_app
–启动服务
rabbitmqctl stop_app
–关闭服务
配置下打开他的Web管理页面:rabbitmq-plugins enable rabbitmq_management
在这里插入图片描述
关闭防火墙:systemctl stop firewalld
在这里插入图片描述
可以看到页面了。这时,可以使用默认的guest/guest用户登录。
但是注意下,默认情况下,只允许在localhost本地登录,
远程访问是无法登录的。这时,可以创建一个管理员账户来登录。
命令:rabbitmqctl add_user admin admin
rabbitmqctl set_permissions -p / admin “.” “.” “.*”
rabbitmqctl set_user_tags admin administrator
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

安装成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值