rabbitmq学习笔记
Posted mr.杰瑞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq学习笔记相关的知识,希望对你有一定的参考价值。
AMQP协议
- 生产者
- 消费者
- 队列
一个队列存多条消息 - 消息
- 连接
发消息和接收消息都是必须先建立连接 - 通道(channel)
一个连接有多个通道,消息会在通道里面流转,之后到达消费者 - 交换机(exchange)
路由的概念,通过绑定,和路由 - 路由键
交换机通过路由键去寻址,找到队列 - 绑定
队列和交换机的一个关联连接 - 用户
在RabbitMQ里,可以通过制定的用户名和密码来进行连接,每个用户可以分配不同的权限。读或者写或在实例里配置的权限
交换机类似mysql的数据库,queue对应的mysql的某张表
安装
- 首先安装erlang环境
新增/etc/yum.repos.d/rabbitmq_erlang.repo
在文件中添加下面内容
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
- yum install erlang
意思是源没有找到
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum -y install make gcc gcc-c++kernel-devel m4 ncurses-devel openssl-devel java-devel unixODBC-devel
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
上面操作就是换源,网上找的 之后再来一次
yum install erlang
判断是否安装完成
erl
ok
继续
- 安装rabbitmq 下载rpm包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-3.8.1-1.el7.noarch.rpm
安装
yum install rabbitmq-server-3.8.1-1.el7.noarch.rpm
安装完了
启动rabbitmq
rabbitmq-server start
加入开机自启项
chkconfig rabbitmq-server on
查看状态
rabbitmqctl status
docker中安装
主推这种,因为现在工作中都是用docker
三级目录
公司用到rabbitmq了,那咱们也要顺应时代学习一下子。
rabbitmq是啥?
我的认知就是它是个消息队列(先进先出),就比如老师布置了3个任务,写到了黑板上,先做完a任务,然后再做b任务,然后再做c任务。
那么小明依次完成了这三个任务,每完成一个就擦掉。那此时老师就是生产者,小明就是消费者,黑板就是rabbitmq
能削峰(不会让你一下干很多事),能异步,能解耦等等。
未完待续~~
以上是关于rabbitmq学习笔记的主要内容,如果未能解决你的问题,请参考以下文章